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;

}

相关推荐
hongtianzai1 分钟前
Laravel9.X核心特性全解析
android·java·数据库
qq_417695052 分钟前
基于C++的区块链实现
开发语言·c++·算法
电商API_180079052473 分钟前
电商平台公开数据采集实践:基于合规接口的数据分析方案
开发语言·数据库·人工智能·数据挖掘·数据分析·网络爬虫
小陈工4 分钟前
2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
java·开发语言·数据库·python·安全·web安全·django
小胖java4 分钟前
养老院管理系统
java·spring boot
2401_894241925 分钟前
基于C++的反射机制探索
开发语言·c++·算法
爱丽_5 分钟前
synchronized到底锁的是什么:对象头 Mark Word、Monitor、锁升级与排查
java
xyq20248 分钟前
ionic 单选框详解
开发语言
ywlovecjy10 分钟前
Tomcat下载,安装,配置终极版(2024)
java·tomcat
二进制person11 分钟前
JavaEE初阶 --JVM
java·java-ee