下面是详细讲解 SpringBoot 项目将 Mybatis 升级为 Mybatis-Plus 的方法:
一、前置准备
1. 项目环境
SpringBoot版本:2.5.1
Mybatis版本:3.5.4
2. 引入依赖
在项目 pom.xml 中的 dependencies 中,加入以下依赖:
<!-- Mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
同时也需要注释掉原本的 Mybatis 依赖,因为 Mybatis-Plus 依赖中已经包括了 Mybatis 的依赖:
<!-- Mybatis -->
<!-- <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency> -->
3. 配置 Mybatis-Plus
在 application.yml(或者 application.properties) 配置文件中,添加以下配置:
mybatis-plus:
# 指定 xml 文件路径
mapper-locations: classpath*:mapper/**/*Mapper.xml
# 实体类命名规范,使用驼峰命名规则
global-config:
db-config:
column-underline: false
table-underline: false
# 下划线转驼峰命名规则
# logic-delete-field: deleted
# logic-delete-value: 1
# logic-not-delete-value: 0
# 逻辑删除配置
至此,准备工作完成。
二、升级方法
1. 修改 Mapper
在原本的 Mapper 接口上加上 @Mapper 注解(或者在 MapperScan 的扫描包中扫描到该接口),然后修改这个接口继承 Mapper,并且增加一些 Mybatis-Plus 提供的接口。
下面是一个示例:
@Mapper
public interface UserMapper extends BaseMapper<User> {
// Mybatis-Plus 提供的 selectById 方法
User selectById(Long id);
}
Mybatis-Plus 的 BaseMapper 接口中包含了基本的 CRUD 操作,还有一些常用的方法,例如 insertBatch、selectList 等等,具体可以查看官方文档。
2. 修改 Service
- Service 接口的实现
修改 Service 接口的实现,将原本的 Mybatis 操作改为 Mybatis-Plus 操作。
下面是一个示例:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
// Mybatis-Plus 提供的 selectById 方法
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
}
- 分页查询
Mybatis-Plus 中的分页查询与 Mybatis 中一样,都需要在调用接口时传入分页参数 Page,同时还可以使用 QueryWrapper(查询条件包装器)进行查询过滤。
下面是一个示例:
@Override
public IPage<User> getUserList(int pageNum, int pageSize, String name) {
// 构建分页参数
Page<User> page = new Page<>(pageNum, pageSize);
// 构建查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", name);
return userMapper.selectPage(page, queryWrapper);
}
3. 示例
下面是一个完整的示例:
/**
* User 数据库操作类
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
// Mybatis-Plus 提供的 selectById 方法
User selectById(Long id);
}
/**
* User 业务接口类
*/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
// Mybatis-Plus 提供的 selectById 方法
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
@Override
public IPage<User> getUserList(int pageNum, int pageSize, String name) {
// 构建分页参数
Page<User> page = new Page<>(pageNum, pageSize);
// 构建查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", name);
return userMapper.selectPage(page, queryWrapper);
}
}
/**
* User 控制器类
*/
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/{id}")
public User getUserById(@PathVariable("id") Long id) {
return userService.getUserById(id);
}
@GetMapping("/user/list")
public IPage<User> getUserList(@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize,
@RequestParam("name") String name) {
return userService.getUserList(pageNum, pageSize, name);
}
}
至此,完整的 SpringBoot 项目将 Mybatis 升级为 Mybatis-Plus 的方法已经讲解完毕。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目将mybatis升级为mybatis-plus的方法 - Python技术站