1. 导入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
<version>1.2.3</version>
</dependency>
2. 全局配置 - application.yml
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
3. 使用
@RequestMapping(value = "", method = RequestMethod.GET)
@ResponseBody
public PageInfo<Product> listUI( QueryParam queryParam) {
// 分页设置,如果两个参数都为0则不分页 - 第一个页数为第N页、第二页为每页的记录数
if(queryParam.getPageNum() == null) {
PageHelper.startPage(0, 0);
}else {
PageHelper.startPage(queryParam.getPageNum(), queryParam.getPageSize());
}
// 这里sql文件不需要手动添加 limit
List<Product> producets = productService.findAllProducts(queryParam);
PageInfo<Product> pageInfo = new PageInfo<>(producets);
return pageInfo;
}