Spring Boot整合Mybatis实现增删改查
前言
- 目前Spring Data JPA在国外广泛流行,但是国内依然在使用MyBatis框架。所以,今天这篇内容我们将详细介绍如何在Spring Boot中整合MyBatis框架,来完成数据库的增删改查操作。
第一步:创建一个Spring Boot项目
-
注意:创建spring boot项目时我们要选中web依赖与mysql的驱动  -
项目创建完毕后,我们要在pom文件中添加MyBatis Spring Boot Starter依赖,使项目可以正常运行 <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
-
MyBatis Spring Boot Starter::Maven Repository:mybatis
第二步:在properties文件中配置mysql的连接
第三步:在Test中测试数据库的链接
第四步:创建数据库的实体类
- 数据库连接成功后,对应数据库的字段名称创建一个User的实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
- 导入Lombok依赖,使用注解简化代码
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
第五步:创建mapper接口类
第六步:编写sql语句
- 我们统一将sql语句的xml文件放在resource目录下,在resources目录下创建一个子目录mybatis,在mybatis目录下创建一个mapper目录,我们将sql的xml文件放入其中
 - xml文件创建完毕后,编写sql语句(这里仅以update语句为例)
<?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.ran.mapper.UserMapper">
<update id="updateUser">
update user
<trim prefix="set" suffixOverrides=",">
<if test="name!=null and name!=''">name=#{name},</if>
<if test="pwd!=null and pwd!=''">pwd=#{pwd},</if>
</trim>
where id=#{id}
</update>
</mapper>
- 注意:我们需要在properties文件中整合mybatis使UserMapper.xml能被识别
mybatis.type-aliases-package=com.ran.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
- 完整的application.properties文件
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?
serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.ran.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
第七步:创建controller层实现功能
- 在目录下创建controller层,编写UserController类,实现增删改查的方法
@RestController
@RequestMapping("/springboot")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("/queryUserList")
public List<User> queryUserList(){
return userMapper.queryUserList();
}
@GetMapping("/queryUserById")
public User queryUserById(){
return userMapper.queryUserById(4);
}
@GetMapping("/insertUser")
public int insertUser(User user){
return userMapper.insertUser(user);
}
@GetMapping("/deleteUser")
public int deleteUser(){
return userMapper.deleteUser(5);
}
@GetMapping("/updateUser")
public int updateUser(){
return userMapper.updateUser(new User(5,"lemon01","666666"));
}
第八步:测试
- 启动项目,利用Apifox测试接口是否连通,若能查询出全部数据,则证明接口无误

|