PageUtil 分页工具类
·
1、maven 依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
2、工具类
public class PageUtil {
public static void listToPageInfo(List<?> list, Integer pageSize, Integer pageNum, PageInfo pageInfo) {
//每页最大显示条数
pageInfo.setPageSize(pageSize);
//当前页
pageInfo.setPageNum(pageNum);
if (!CollectionUtils.isEmpty(list)) {
int total =list.size();
//总条数
pageInfo.setTotal(total);
int pages = (int) Math.ceil((double) total/pageSize);
//总页数
pageInfo.setPages(pages);
if (pageNum > pages) {
pageNum = pages;
pageInfo.setPageNum(pageNum);
}
int fromIndex = (pageNum - 1) * pageSize;
int toIndex = pageNum * pageSize;
if (toIndex > total) {
toIndex = total;
}
//结果集
pageInfo.setList(list.subList(fromIndex,toIndex));
//当前页的条数
pageInfo.setSize(toIndex - fromIndex);
//是否是第一页
pageInfo.setIsFirstPage(pageNum == 1);
//是否是最后一页
pageInfo.setIsLastPage(pageNum == pages);
//是否有上一页
pageInfo.setHasPreviousPage(pageNum >= 2 && pageNum <= pages);
//是否有下一页
pageInfo.setHasNextPage(pageNum <= pages - 1);
//上一页页码
pageInfo.setPrePage(pageNum == 1 ? 1 : pageNum - 1);
//下一页页码
pageInfo.setNextPage(pageNum >= pages ? pageNum : pageNum +1);
} else {
pageInfo.setList(new ArrayList());
}
}
//测试
public static void main(String[] args) {
List<BlogCategoryPO> blogCategoryPOS = new ArrayList<>();
// blogCategoryPOS.add(new BlogCategoryPO(1, 1, 1, new Date(), new Date()));
// blogCategoryPOS.add(new BlogCategoryPO(2, 2, 2, new Date(), new Date()));
// blogCategoryPOS.add(new BlogCategoryPO(3, 3, 3, new Date(), new Date()));
// blogCategoryPOS.add(new BlogCategoryPO(4, 4, 4, new Date(), new Date()));
// blogCategoryPOS.add(new BlogCategoryPO(5, 5, 5, new Date(), new Date()));
PageInfo<BlogCategoryPO> pageInfo = new PageInfo<>();
PageUtil.listToPageInfo(blogCategoryPOS,4,11,pageInfo);
System.out.println(pageInfo);
}
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)