这里的page 传参主要是 第几页和查询条数
我用的是mybatis-plus的分页对象 也可以使用自己的分页对象
参数解释
CommonConstants.size==1
page.total==记录总数
page.size==查询条数
page.current==第几页
page.records==返回的参数(list)
public static <E> Page<E> getPage(List<E> arrayList, Page<E> page) {
page.setTotal(arrayList.size());
// 当前页第一条数据在List中的位置
int start = (int) ((page.getCurrent() - CommonConstants.size) * page.getSize());
// 当前页最后一条数据在List中的位置
int end = (int) ((start + page.getSize()) > arrayList.size() ? arrayList.size() : (page.getSize() * page.getCurrent()));
page.setRecords(arrayList);
if (page.getSize() * (page.getCurrent() - CommonConstants.size) <= page.getTotal()) {
// 分隔列表 当前页存在数据时 设置
page.setRecords(arrayList.subList(start, end));
}
return page;
}