目录
1、加入依赖
<!-- 分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
2、配置分页插件
#指定数据库
pagehelper.helper-dialect=mysql
#是否启用分页合理化,当pagenum<1时,自动查寻第一页数据,当pegenum>pages时,最后查询最后一页数据
pagehelper.reasonable=true
#支持分页参数写在mapper接口的方法里(方法中传参)
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
注:如果报循环依赖的错误:
┌──->──┐
| com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration
└──<-──┘
Action:Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.
在配置文件中加入解决循环依赖的配置
#解决循环依赖 spring.main.allow-circular-references=true
3、使用分页插件
//方法中的pageNum和pageSize两个参数,在dao和service层的方法中无需传参
@GetMapping("/user")
public String queryPageUser(@RequestParam(value = "pageNum",defaultValue = "1",required = false) Integer pageNum,
@RequestParam(value = "pageSize",defaultValue = "2",required = false) Integer pageSize) throws JsonProcessingException {
PageHelper.startPage(pageNum,pageSize);
List<User> list = userService.queryPageUser();
PageInfo<User> userPageInfo = new PageInfo<>(list);
String s = objectMapper.writeValueAsString(userPageInfo);
return s;
}