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;

}

相关推荐
skywalk8163几秒前
g4f JavaScript调用报错问题解决
开发语言·javascript·ecmascript
lifallen3 分钟前
Flink Source / Sink Exactly-Once 边界分析
java·大数据·flink
qqty12173 分钟前
基于python语言的网页设计(手把手教你设计一个个人博客网站)
开发语言·python
xyyaihxl9 分钟前
将 vue3 项目打包后部署在 springboot 项目运行
java·spring boot·后端
耿雨飞9 分钟前
Python 后端开发技术博客专栏 | 第 02 篇 函数式编程与 Python 魔法 -- 闭包、装饰器、高阶函数
开发语言·python·装饰器·高阶函数·闭包
网域小星球11 分钟前
C++ 从 0 入门(五)|C++ 面试必知:静态成员、友元、const 成员(高频考点)
开发语言·c++·面试·静态成员·友元函数
|_⊙12 分钟前
C++11 右值引用
开发语言·c++
ftpeak33 分钟前
Python win32底层开发从入门到实战
开发语言·python·win32api
阿正的梦工坊35 分钟前
JavaScript 函数组合(Compose & Pipe)详解
开发语言·javascript·网络
lly20240637 分钟前
Python uWSGI 安装配置
开发语言