【重点】分页查询必须要配置拦截器注意一下

参考:
MybatisPlus的分页拦截器,没有就无法分页

  1. /**
  2. * 用户信息分页查询
  3. *
  4. * @param pagenum
  5. * @param pagesize
  6. * @param users
  7. * @return
  8. */
  9. @GetMapping
  10. public R<Page> show(Integer pagenum, Integer pagesize, Users users) {
  11. log.info("pagenum={},pagesize={},user={}", pagenum, pagesize, users);
  12. //构造分页构造器
  13. Page pageInfo = new Page(pagenum, pagesize);
  14. //构造条件构造器
  15. LambdaQueryWrapper<Users> lqw = new LambdaQueryWrapper();
  16. //添加过滤条件
  17. lqw.like(StringUtils.isNotEmpty(users.getUserId()), Users::getUserId, users.getUserId());
  18. //添加排序条件
  19. lqw.orderByDesc(Users::getTimeadd);
  20. //执行查询
  21. usersService.page(pageInfo, lqw);
  22. //如果查询后的pagenum(当前页码)>(实际的总页码),
  23. if (pagenum > pageInfo.getPages()) {
  24. log.info("当前页码>总的页码");
  25. //那么当前页码就等于总页码,然后重新查询
  26. pageInfo = new Page(pageInfo.getPages(), pagesize);
  27. //执行查询
  28. usersService.page(pageInfo, lqw);
  29. }
  30. return R.success(pageInfo);
  31. }
  32. }