PageHelper.startPage(dto) 分页查询失效
记录一个开发碰到的问题,先上代码
dto.setOrderByColumn("a.read_status");
dto.setUserId(SecurityUtils.getUserId());
// 固定死
startPage(dto);
// 不需要分页查询
allList1 = sysNoticeUserService.selectNoticeByUserIdForBell(SecurityUtils.getUserId());
// 需要分页查询
allList2 = sysNoticeUserService.selectNoticeByUserIdForBellAll(dto);
查询结果会出现 allList2 实际上没有进行分页
原因
PageHelper.startPage() 方法只会对第一条查询sql生效
解决办法
dto.setOrderByColumn("a.read_status");
dto.setUserId(SecurityUtils.getUserId());
// 固定死
startPage(dto);
// 需要分页查询
allList2 = sysNoticeUserService.selectNoticeByUserIdForBellAll(dto);
// 不需要分页查询
allList1 = sysNoticeUserService.selectNoticeByUserIdForBell(SecurityUtils.getUserId());
只需要把分页的放到startPage下面的第一条就好