当所要查询的数据不能通过框架自带的分页和自定义分页实现的时候,一般查询出来的数据大多数情况都是list的形式。这就牵扯到把list集合转成分页,实现分页操作。
以下就是list转page的工具
/**
* list转page进行手动分页
* @param list 要转的list集合
* @param currentPage 当前页
* @param pageSize 页容量
* @return
*/
public static Page listToPage(List list, int currentPage, int pageSize){
List pageList = new ArrayList<>();
int curIdx = currentPage> 1 ? (currentPage- 1) * pageSize : 0;
for (int i = 0; i < pageSize && curIdx + i < list.size(); i++) {
pageList.add(list.get(curIdx + i));
}
Page page = new Page<>(currentPage, pageSize);
page.setRecords(pageList);
page.setTotal(list.size());
return page;
}