1.问题
controller中使用startPage();
@Log(title = "用户访问次数明细查询", businessType = BusinessType.OTHER)
@PostMapping("/logininforList")
public TableDataInfo logininforList(@RequestBody CloudUser cloudUser) {
startPage();
List<SysLogininfor> relationAppList = cloudUserService.logininforList(cloudUser);
return getDataTable(relationAppList);
}
service中多个查询方法导致框架不知道后面查询也需要分页,所以分页失效。
@Override
public List<SysLogininfor> logininforList(CloudUser cloudUser) {
CloudUserIdentify cloudUserIdentify = cloudUserIdentifyMapper.selectCloudUserIdentifyByIdentifyId(cloudUser.getUserId());
List<String> phoneList = cloudUserIdentify == null ? cloudUserMapper.selectPhoneByUserId(cloudUser) : cloudUserMapper.selectPhoneList(cloudUser);
List<SysLogininfor> sysLogininfors = cloudUserMapper.selectLogininforList(phoneList.toArray(new String[phoneList.size()]));
return sysLogininfors;
}
2.解决办法
controller注释startPage();
@Log(title = "用户访问次数明细查询", businessType = BusinessType.OTHER)
@PostMapping("/logininforList")
public TableDataInfo logininforList(@RequestBody CloudUser cloudUser) {
// startPage();
List<SysLogininfor> relationAppList = cloudUserService.logininforList(cloudUser);
return getDataTable(relationAppList);
}
service加入分页开始的标识
@Override
public List<SysLogininfor> logininforList(CloudUser cloudUser) {
CloudUserIdentify cloudUserIdentify = cloudUserIdentifyMapper.selectCloudUserIdentifyByIdentifyId(cloudUser.getUserId());
List<String> phoneList = cloudUserIdentify == null ? cloudUserMapper.selectPhoneByUserId(cloudUser) : cloudUserMapper.selectPhoneList(cloudUser);
PageDomain pageDomain = TableSupport.getPageDomain();
PageHelper.startPage(pageDomain.getPageNum(), pageDomain.getPageSize(), pageDomain.getOrderBy());
List<SysLogininfor> sysLogininfors = cloudUserMapper.selectLogininforList(phoneList.toArray(new String[phoneList.size()]));
return sysLogininfors;
}
3.核心步骤
在需要分页的方法前面加上分页代码如下
PageDomain pageDomain = TableSupport.getPageDomain();
PageHelper.startPage(pageDomain.getPageNum(), pageDomain.getPageSize(), pageDomain.getOrderBy());