依赖:
<!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
application.yml配置:
pagehelper: reasonable: true support-methods-arguments: true helperDialect: mysql params: count
注意:如果引用PageHelper依赖跑项目报错
yml文件里加入这个配置
spring: main: allow-circular-references: true
调用案例:
@GetMapping("/users/{pageNum}") public PageInfo userList(@PathVariable("pageNum") int pageNum) { PageHelper.startPage(pageNum,10); List<User> users=userMapper.getUsers(); PageInfo<User> pageInfo = new PageInfo<User>(users); return pageInfo; }
注意:如果你的实体类不是最终返回的,需要dto转化的,用如下调用,不然分页total等不对
PageHelper.startPage(pageNum,pageSize); List<Pojo> pojoList=pojoService.getPageList(); PageInfo pageResult = new PageInfo(pojoList); //重点在这一步 List<PojoVo> voList=new ArrayList<>(); for(Pojo item:pojoList){ PojoVo pojoVo=assembleRobotListVo(item); voList.add(pojoVo); } //这一步记得添加 pageResult.setList(voList); //重点这一步 private PojoVo assembleRobotListVo(Pojo pojo){ PojoVo pojoVo=new PojoVo (); pojoVo.setId(pojo.getId()); pojoVo.setMac(pojo.getMac()); pojoVo.setName(pojo.getName()); return pojoVo; }