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;

}

相关推荐
better_liang1 小时前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
小江的记录本1 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码2 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
deepin_sir2 小时前
10 - 函数
开发语言·python
better_liang2 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit2 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
z落落2 小时前
C#String字符串
开发语言·c#·php
猫头虎-前端技术2 小时前
JS 作用域与闭包:从变量提升到闭包陷阱的超详细解析
开发语言·javascript·云计算·bootstrap·ecmascript·openstack·perl
枫叶林FYL3 小时前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python
繁华落尽,倾城殇?3 小时前
[C++11] : atomic,nullptr,default/delete,enum class
开发语言·c++·c++11·nullptr·atomic·enum class·default/delete