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;

}

相关推荐
见叶之秋4 小时前
C++ 泛型世界的两块拼图:容器适配器与仿函数
java·开发语言
MayBaymax4 小时前
MQ 基础概念与架构
java·中间件·架构·java-rocketmq
逗脑IDE4 小时前
零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力!
开发语言·网络·人工智能·python·esp32·硬件开发
Dovis(誓平步青云)4 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
小师兄吃牛肉4 小时前
C语言篇:内联函数
c语言·开发语言
yuniko-n5 小时前
【Java】字符串相关坑点
java·开发语言·python
Terra.K5 小时前
Spring AI day1(SSE+AI)
java·人工智能·spring·springai
斑鸠喳喳5 小时前
线程本地存储 ThreadLocal
java·后端
jimy15 小时前
虚函数vtable,链接时看到构造函数,linker把符号地址写入vtable(三)
开发语言·c++
ss2735 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python