当前位置: 首页 > article >正文

Java中对list数据进行手动分页(可直接复用版)

1.获取list列表数据

// 这边用的mybatisplus查询的sql。条件自己组装
List<实体类> result = baseMapper.getPageData(lambdaQuery);

2.计算总记录数

// 计算总记录数
int totalRecords = result.size();

3.创建分页对象,并塞入结果值

// 创建分页对象
IPage<实体类> resultPage = new Page<>(pageNo, pageSize);
resultPage.setTotal(totalRecords);

4.计算起始索引和结束索引

// 计算起始索引和结束索引
int startIndex = (int) ((pageNo - 1) * pageSize);
int endIndex = (int) Math.min(startIndex + pageSize, totalRecords);

5.截取对应页的数据

// 截取对应页的数据
List<实体类> pageData = result.subList(startIndex, endIndex);

6.设置分页结果并返回

// 设置分页结果并返回
resultPage.setRecords(pageData);
return resultPage;

最后给一个完整的代码展示:

// 这边用的mybatisplus查询的sql。条件自己组装
List<实体类> result = baseMapper.getPageData(lambdaQuery);
// 计算总记录数
int totalRecords = result.size();
// 创建分页对象
IPage<实体类> resultPage = new Page<>(pageNo, pageSize);
resultPage.setTotal(totalRecords);
// 计算起始索引和结束索引
int startIndex = (int) ((pageNo - 1) * pageSize);
int endIndex = (int) Math.min(startIndex + pageSize, totalRecords);
// 截取对应页的数据
List<实体类> pageData = result.subList(startIndex, endIndex);
resultPage.setRecords(pageData);

http://www.kler.cn/a/504465.html

相关文章:

  • Cyberchef开发operation操作之-增加LEEF解析操作
  • 前端实时显示当前在线人数的实现
  • 淘宝 URL 采集商品详情数据的常见方法
  • 如何最小改变架构,快速实现流控的?(第34讲)
  • 第 6 课 Python函数和模块
  • 高性能现代PHP全栈框架 Spiral
  • 大学无人机低空经济专业建设技术详解
  • iOS layer.mask 的原理
  • AI自动化编程:天使还是恶魔?
  • RAG实战_01代码生成_02智能检索
  • 深入剖析 Java 设计模式之观察者模式
  • aws(学习笔记第二十三课) step functions进行开发(lambda函数调用)
  • G1原理—3.G1是如何提升垃圾回收效率
  • 【大数据】机器学习 -----关于data.csv数据集分析案例
  • 如何在Ubuntu上安装和配置Git
  • LLM 智能视频字幕助手,支持生成、断句、优化、翻译、视频合成全流程
  • 从0开始学习搭网站第二天
  • 《计算机网络》课后探研题书面报告_网际校验和算法
  • SLAM后端处理
  • uniapp 小程序 五星评分精确到0.1