@Data
public class DataPaging<T> {
/*当前页码*/
private Integer pageNum;
/*每页显示条数*/
private Integer pageSize;
/*总页数*/
private Integer totalPage;
/*总条数*/
private Long total;
/*分页数据*/
private List<T> list;
/**
* 帮助分页
* @param list
* @param <T>
* @return
*/
public static <T> DataPaging<T> restPage(List<T> list,Integer pageNum,Integer pageSize){
DataPaging<T> result = new DataPaging<T>();
List<T> dataList = new ArrayList();
// 总页数
double d = ((double) list.size() / pageSize);
int total = (int) Math.ceil(d);
result.setTotalPage(total);
// 当前页码
result.setPageNum(pageNum);
// 每页显示条数
result.setPageSize(pageSize);
// 总条数
result.setTotal((long) list.size());
// 分页数据
if(pageSize >= list.size()){
result.setList(list);
}else {
int index = (pageNum - 1) * pageSize;
if(total == pageNum){
// 最后一页
pageSize = list.size() - index;
}
for (int i = 0; i < pageSize; i++) {
dataList.add(list.get(index+i));
}
result.setList(dataList);
}
return result;
}
}
手写一个分页工具
最新推荐文章于 2022-06-11 16:17:25 发布