有时候在实现类中进行数据的处理之后需要继续查询分页,若依系统自带的分页查询不能满足需求。可以在代码中实现分页效果,先查询组装list,再分页封装
/**
* 自定义List分页工具
* @author hanwl
*/
public class PageUtil {
/**
* 开始分页
* @param list
* @param pageNum 页码
* @param pageSize 每页多少条数据
* @return
*/
public static List startPage(List list, int pageNum,
int pageSize) {
if (list == null) {
return null;
}
if (list.size() == 0) {
return null;
}
int count = list.size(); // 记录总数
int pageCount = 0; // 页数
if (count % pageSize == 0) {
pageCount = count / pageSize;
} else {
pageCount = count / pageSize + 1;
}
int fromIndex = 0; // 开始索引
int toIndex = 0; // 结束索引
if (pageNum != pageCount) {
fromIndex = (pageNum - 1) * pageSize;
toIndex = fromIndex + pageSize;
if (toIndex>count){
fromIndex = 0;
toIndex = pageSize;
if (count<10){
toIndex = count;
}
}
} else {
fromIndex = (pageNum - 1) * pageSize;
toIndex = count;
}
List pageList = list.subList(fromIndex, toIndex);
return pageList;
}
}
该代码段展示了一个Java工具类PageUtil,用于对已经处理过的数据列表进行自定义分页。它接受一个List对象,页码和每页大小作为参数,计算总页数,并返回指定页码范围内的子列表。如果页码超出范围,会进行相应调整。
4753

被折叠的 条评论
为什么被折叠?



