在 Spring Boot 项目中使用分页插件的两种常见方式

在 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 {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}3. 使用分页功能 在 Service 层中,使用 Page 类进行分页查询:
@Service
public class UserService {@Autowiredprivate 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: mysqlreasonable: true3. 使用分页功能 在 Service 层中,使用 PageHelper 进行分页查询:
@Service
public class UserService {@Autowiredprivate 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 层解耦,使用灵活。你可以根据项目需求选择合适的分页插件。
