分页工具类

PageHelper是将查询的SQL结尾自动拼上 limit offset,而有些场景不适用这种分页方式。
可以查询全部数据,再对list分页。

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import java.util.List;
public class PageUtil {
   /**
     * 对完整 List 进行分页
     *
     * @param list 待分页 List 集合
     * @param pageNum 当前页码
     * @param pageSize 页大小
     * @return PageInfo 分页对象
     */
 public static PageInfo startPage4FullList(List list, int pageNum, int pageSize) {
      int total = list.size();
      int startIndex = Math.min((pageNum - 1) * pageSize, total);
      int endIndex = Math.min(startIndex + pageSize, total);
      List pageList = list.subList(startIndex, endIndex);
      PageInfo pageInfo = startPage(pageList, total, pageNum, pageSize);
      return pageInfo;
}
   /**
     * 将 List 数据拼装分页信息
     * @param pageList 当前页 List 数据
     * param total 总页数
     * @param pageNum 当前页码
     * @param pageSize 页大小
     * @return PageInfo 分页对象
     */
 public static PageInfo startPage(List pageList, int total, int pageNum, int pageSize) {
     Page page = new Page(pageNum, pageSize);
     page.setTotal(total);
     page.addAll(pageList);
     PageInfo pageInfo = new PageInfo<>(page);
     return pageInfo;
    }
}

posted on 2021-03-03 15:29  程序员大禹  阅读(181)  评论(0编辑  收藏  举报

导航