正常分页使用方法
/**
* 获取参数配置列表
*/
@RequiresPermissions("system:config:list")
@GetMapping("/list")
public TableDataInfo list(SysConfig config)
{
startPage();
List<SysConfig> list = configService.selectConfigList(config);
return getDataTable(list);
}
直接使用starpage();这是框架自带的。因为业务层多次处理数据导致分页不生效。
重新封装一个工具类实现手动分页。
package com.IntPlatform.common.core.utils;
import com.IntPlatform.common.core.constant.HttpStatus;
import com.IntPlatform.common.core.web.page.PageDomain;
import com.IntPlatform.common.core.web.page.TableDataInfo;
import com.IntPlatform.common.core.web.page.TableSupport;
import java.util.List;
import java.util.stream.Collectors;
public class HandPageUtils {
public static TableDataInfo page(List<?> list) {
// 数据手动分页
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setRows(
list.stream().skip((long) (pageNum - 1) * pageSize)
.limit(pageSize)
.collect(Collectors.toList()));
rspData.setTotal(list.size());
return rspData;
}
}
这样再有因为数据处理导致分页不生效直接使用手动分页如下
public TableDataInfo list(SysConfig config)
{
// startPage();
List<SysConfig> list = configService.selectConfigList(config);
return HandPageUtils.page(list);
}