
在 Spring Boot 项目中使用分页插件主要有两种常见方式:使用 MyBatis-Plus 的分页插件和使用 PageHelper 插件。以下是两种方式的详细使用方法:
使用 MyBatis-Plus 分页插件
1. 添加依赖 在 pom.xml 文件中添加 MyBatis-Plus 的依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>版本号</version>
</dependency>
2. 配置分页插件 创建一个配置类,添加分页插件的配置:
@Configuration
@MapperScan("scan.your.mapper.package")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
3. 使用分页功能 在 Service 层中,使用 Page 类进行分页查询:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public IPage<User> getUserPage(int current, int size) {
Page<User> page = new Page<>(current, size);
return userMapper.selectPage(page, null);
}
}
使用 PageHelper 分页插件
1. 添加依赖 在 pom.xml 文件中添加 PageHelper 的依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>版本号</version>
</dependency>
2. 配置 PageHelper 在 application.yml 文件中配置 PageHelper:
pagehelper:
helperDialect: mysql
reasonable: true
3. 使用分页功能 在 Service 层中,使用 PageHelper 进行分页查询:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public PageInfo<User> getUserPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> users = userMapper.list();
return new PageInfo<>(users);
}
}
两种分页插件各有优势,MyBatis-Plus 的分页插件与 MyBatis-Plus 的 CRUD 接口无缝集成,使用简单;PageHelper 则是一个独立的分页插件,支持多种数据库,且分页逻辑与 Mapper 层解耦,使用灵活。你可以根据项目需求选择合适的分页插件。