很多时候各种条件查询完了又做一些个处理,然后就导致分页不好用了。有的页码就三五条数据,有的页码就一两条数据。所以查询的时候,不能做分页,把数据都查询出来,然后处理业务逻辑,处理完了之后再进行分页。
这里有个分页工具类,挺好用的
/**
*
* @param list 要分页的集合
* @param pageNo 第几页
* @param pageSize 每页条数
* @return 分页集合对象
*/
public static List page(List list, int pageNo, int pageSize){
List result = new ArrayList();
if (list != null && list.size() > 0) {
int allCount = list.size();
int pageCount = (allCount + pageSize - 1) / pageSize;
if (pageNo >= pageCount) {
pageNo = pageCount;
}
int start = (pageNo - 1) * pageSize;
int end = pageNo * pageSize;
if (end >= allCount) {
end = allCount;
}
for (int i = start; i < end; i++) {
result.add(list.get(i));
}
}
return (result.size() > 0) ? result : null;
}