Bootstrap

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