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

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.lryc.cn/news/522176.html

相关文章:

  • 【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页
  • 《研发管理 APQP 软件系统》——汽车电子行业的应用收益分析
  • 【IDEA 2024】学习笔记--文件选项卡
  • Android SystemUI——服务启动流程(二)
  • iOS - 内存对齐
  • 小游戏前端地区获取
  • AIGC时代:如何快速搞定Spring Boot+Vue全栈开发
  • MDX语言的多线程编程
  • Vue.js组件开发-实现输入框与筛选逻辑
  • 配置Allure环境变量【macOS版】
  • AndroidStudio升级到2024.2.2项目AGP升级8.8.0版本记录
  • Require:利用MySQL binlog实现闪回操作
  • 计算机网络 (40)域名系统DNS
  • UE5游戏性能优化指南
  • Gitlab Runner安装与配置
  • 如何有效防止和解决IP劫持问题
  • 2006-2020年各省人均水资源量数据
  • C++基础入门(二)
  • 互联网架构困境:网络与信息安全
  • HIVE技术
  • RustDesk ID更新脚本
  • 卷积神经网络的底层是傅里叶变换
  • Bootstrap 下拉菜单
  • 计算机组成原理(计算机系统3)--实验一:WinMIPS64模拟器实验
  • 读书笔记~管理修炼-风险性决策:学会缩小风险阈值
  • VIVADO FIFO (同步和异步) IP 核详细使用配置步骤
  • tcp粘包原理和解决
  • C语言预处理艺术:编译前的魔法之旅
  • C++算法第十六天
  • 计算机网络 (45)动态主机配置协议DHCP