整合MyBatis
大约 1 分钟Spring全家桶SpringBoot精讲细讲
引入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
配置文件
application.yaml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: 123456
mybatis:
mapper-locations: mapper/*Mapper.xml
type-aliases-package: com.hejin.pojo
configuration:
map-underscore-to-camel-case: true
数据库创建表
t_user
CREATE TABLE t_user (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NULL DEFAULT NULL,
`password` varchar(255) NULL DEFAULT NULL,
`salt` varchar(10) NULL DEFAULT NULL,
`birth` datetime(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT NULL,
`dept_id` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
)
t_dept
CREATE TABLE t_dept (
`id` int(11) NOT NULL AUTO_INCREMENT,
`deptName` varchar(255) NULL DEFAULT NULL,
`createTime` datetime(0) NULL DEFAULT NULL,
`updateTime` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
)
实体类
User
@Data
@AllArgsConstructor
@NoArgsConstructor
@Repository
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String username;
private String password;
private String salt;
private Date birth;
private int deptId;
private Date createTime;
private Date updateTime;
}
Dept
@Data
@AllArgsConstructor
@NoArgsConstructor
@Repository
public class Dept implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String deptName;
private Date createTime;
private Date updateTime;
}
mapper接口
UserMapper
@Mapper
public interface UserMapper {
/**
* 根据ID查找用户
* @param id 用户id
* @return 用户对象
*/
User findUserById(Integer id);
}
mapper文件编写
UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hejin.dao.UserMapper">
<select id="findUserById" resultType="user">
select * from t_user where id = #{id}
</select>
</mapper>
service层
UserService
public interface UserService {
/**
* 根据ID查找用户
* @param id 用户id
* @return 用户对象
*/
User findUserById(Integer id);
}
UserServiceImpl
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public User findUserById(Integer id) {
return userMapper.findUserById(id);
}
}
controller层
UserController
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/user/{id}")
public User findUserById(@PathVariable("id") int id){
return userService.findUserById(id);
}
}