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;

}

相关推荐
郑州光合科技余经理21 小时前
开发指南:海外版外卖跑腿系统源码解析与定制
java·开发语言·mysql·spring cloud·uni-app·php·深度优先
SuperherRo1 天前
JAVA攻防-反序列化利用&JNDI注入&高版本绕过&依赖Jar包&gadge包链&自动Bypass
java·反序列化·jndi·高版本绕过
智语言1 天前
SpringBoot实战一:五分钟创建第一个Web应用
java
星释1 天前
Rust 练习册 44:Trait 中的同名函数调用
开发语言·后端·rust
fanruitian1 天前
Java 静态代码块
java·开发语言
IUGEI1 天前
【后端开发笔记】JVM底层原理-垃圾回收篇
java·jvm·笔记·后端
迈巴赫车主1 天前
蓝桥杯 20541魔法科考试
java·数据结构·算法·蓝桥杯
lly2024061 天前
SQL CREATE DATABASE
开发语言
饭饭大王6661 天前
Python 模块的概念与导入:从基础语法到高级技巧
java·服务器·python
u***1371 天前
SpringBoot项目整合Knife4J
java·spring boot·后端