/**
* 自定义分页
*
* @param list
* @param pageNum
* @param pageSize
* @return com.github.pagehelper.PageInfo<T>
* @author xx
* @date 2019/12/30 12:42
*/
public <T> PageInfo<T> customPaging(List<T> list,int pageNum,int pageSize){
if(CollectionUtils.isEmpty(list)){
list = Collections.EMPTY_LIST;
}
//分页参数合理化
pageNum = pageNum <= 0 ? 1 : pageNum;
pageSize = pageSize <= 0 ? 10 : pageSize;
//获取总条数
int total = list.size();
//获取页码总数
int pages = total == 0 ? 1 : (total % pageSize == 0 ? total / pageSize : total / pageSize + 1);
//分页参数合理化
pageNum = pageNum > pages ? pages : pageNum;
List<T> subList;
if (total != 0 && total <= pageNum * pageSize) {
subList = list.subList((pageNum - 1) * pageSize, total);
} else if (total != 0 && total > pageNum * pageSize) {
subList = list.subList((pageNum - 1) * pageSize, pageNum * pageSize);
} else {
subList = Collections.EMPTY_LIST;
}
//返回pageInfo
PageInfo<T> pageInfo = new PageInfo<>();
pageInfo.setList(subList);
pageInfo.setTotal(total);
pageInfo.setPageNum(pageNum);
pageInfo.setPageSize(pageSize);
pageInfo.setPages(pages);
//维护分页相关四个字段
boolean isFirstPage = pageNum == 1;
boolean isLastPage = pageNum == pages || pages == 0;
boolean hasPreviousPage = pageNum > 1;
boolean hasNextPage = pageNum < pages;
pageInfo.setIsFirstPage(isFirstPage);
pageInfo.setIsLastPage(isLastPage);
pageInfo.setHasPreviousPage(hasPreviousPage);
pageInfo.setHasNextPage(hasNextPage);
return pageInfo;
}
list自定义分页
猜你喜欢
转载自blog.csdn.net/xx897115293/article/details/109216896
今日推荐
周排行