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);