Java设置后端分页

getPages(Integer.parseInt(String.valueOf(page.getCurrent())),Integer.parseInt(String.valueOf(page.getSize())),dtos);

/**

* 对list分页

* @param currentPage

* @param pageSize

* @param list

* @return

*/

private IPage getPages(Integer currentPage, Integer pageSize, List list) {

IPage page = new Page();

if(list == null){

return null;

}

int size = list.size();

if(pageSize > size) {

pageSize = size;

}

if (pageSize!=0){

// 求出最大页数,防止currentPage越界

int maxPage = size % pageSize == 0 ? size / pageSize : size / pageSize + 1;

if(currentPage > maxPage) {

currentPage = maxPage;

}

}

// 当前页第一条数据的下标

int curIdx = currentPage > 1 ? (currentPage - 1) * pageSize : 0;

List pageList = new ArrayList();

// 将当前页的数据放进pageList

for(int i = 0; i < pageSize && curIdx + i < size; i++) {

pageList.add(list.get(curIdx + i));

}

page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList);

return page;

}

相关推荐
lsx2024067 小时前
HTML5 新元素
开发语言
她说彩礼65万8 小时前
C# AutoResetEvent和ManualResetEvent
java·jvm·c#
roman_日积跬步-终至千里8 小时前
【Docker多节点部署】基于“配置即身份“理念的 Docker 多节点 StarRocks 高可用集群自动化部署方案
java·docker·微服务
先知后行。9 小时前
C/C++八股文
java·开发语言
Yeats_Liao9 小时前
时序数据库系列(五):InfluxDB聚合函数与数据分析
java·后端·数据分析·时序数据库
程序员buddha9 小时前
C语言数组详解
c语言·开发语言·算法
寻找华年的锦瑟9 小时前
Qt-视频播放器
开发语言·qt
又是忙碌的一天10 小时前
Java IO流
java·开发语言
程序员buddha10 小时前
springboot-mvc项目示例代码
java·spring boot·mvc
fish_study_csdn10 小时前
Python内存管理机制
开发语言·python·c python