1、自定义假分页-工具类
@Slf4j
public class PageInfoUtil<T> {
/** 总记录数 */
private Long total = 0L;
/** 结果集 */
private List<T> list;
/** 当前页的页码 */
private int pageNum;
/** 每页的数量 */
private int pageSize;
/** 当前页面第一个元素在数据库中的行号 */
private int startRow;
/** 当前页面最后一个元素在数据库中的行号 */
private int endRow;
/** 当前页的数量 */
private int size;
/** 总页数 */
private int pages;
/** 是否为第一页 */
private boolean isFirstPage;
/** 是否为最后一页 */
private boolean isLastPage;
/** 是否有前一页 */
private boolean hasPreviousPage;
/** 是否有后一页 */
private boolean hasNextPage;
public PageInfoUtil() {
this.isFirstPage = false;
this.isLastPage = false;
this.hasPreviousPage = false;
this.hasNextPage = false;
}
public PageInfoUtil(List<T> list) {
if (list instanceof Page) {
Page<T> page = (Page<T>)list;
this.pageNum = page.getPageNum();
this.pageSize = page.getPageSize();
this.pages = page.getPages();
this.list = page;
this.size = page.size();
this.total = page.getTotal();
if (this.size == 0) {
this.startRow = 0;
this.endRow = 0;
} else {
this.startRow = page.getStartRow() + 1;
this.endRow = this.startRow - 1 + this.size;
}
}else if (list instanceof Collection) {
this.pageNum = 1;
this.pageSize = list.size();
this.pages = 1;
this.list = list;
this.size = list.size();
this.total = (long)list.size();
this.startRow = 0;
this.endRow = list.size() > 0 ? list.size() - 1 : 0;
}
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
}