【重点】分页查询必须要配置拦截器注意一下
参考:
MybatisPlus的分页拦截器,没有就无法分页
/**
* 用户信息分页查询
*
* @param pagenum
* @param pagesize
* @param users
* @return
*/
@GetMapping
public R<Page> show(Integer pagenum, Integer pagesize, Users users) {
log.info("pagenum={},pagesize={},user={}", pagenum, pagesize, users);
//构造分页构造器
Page pageInfo = new Page(pagenum, pagesize);
//构造条件构造器
LambdaQueryWrapper<Users> lqw = new LambdaQueryWrapper();
//添加过滤条件
lqw.like(StringUtils.isNotEmpty(users.getUserId()), Users::getUserId, users.getUserId());
//添加排序条件
lqw.orderByDesc(Users::getTimeadd);
//执行查询
usersService.page(pageInfo, lqw);
//如果查询后的pagenum(当前页码)>(实际的总页码),
if (pagenum > pageInfo.getPages()) {
log.info("当前页码>总的页码");
//那么当前页码就等于总页码,然后重新查询
pageInfo = new Page(pageInfo.getPages(), pagesize);
//执行查询
usersService.page(pageInfo, lqw);
}
return R.success(pageInfo);
}
}