java使用PageInfo的list通用分页处理demo

 更新时间:2023年12月24日 14:47:21   作者:蚕1蚕2  
这篇文章主要为大家介绍了java使用PageInfo的list通用分页处理demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

 处理接口返回数据, 获取分页后的数据列表

/**
 *
 * @param list     待分页数据列表
 * @param pageNum  页码
 * @param pageSize 页面数量
 * @return com.github.pagehelper.PageInfo
 * @author chengxianwei
 * @date 2023/1/12
 */
public static <T> PageInfo startPageList(List<T> list, Integer pageNum, Integer pageSize) {
    // 总条数
    int total = list.size();
    // 页大小
    int size = pageNum * pageSize;
    // 总页数 总条数 取模 页大小
    int pages = total % size == 0 ? total / size : total / size + 1;
    // 结束索引 页大小大于总条数时,为总条数, 否则为页大小
    int toIndex = size > total ? total : size;
    // 开始索引
    int fromIndex = (pageNum - 1) * pageSize;
    if (fromIndex > toIndex) {
        fromIndex = 1;
    }
    // 截取数据
    List<T> dataList = list.subList(fromIndex, toIndex);
    // 分页数据
    PageInfo<T> pageInfo = new PageInfo<>(list);
    pageInfo.setTotal(total);
    pageInfo.setPages(pages);
    pageInfo.setPageNum(pageNum);
    pageInfo.setPageSize(pageSize);
    pageInfo.setList(dataList);
    return pageInfo;
}

以上就是java使用PageInfo的list通用分页处理demo的详细内容,更多关于java PageInfo list分页处理的资料请关注脚本之家其它相关文章!

相关文章

  • 浅谈Spring 中 @EnableXXX 注解的套路

    浅谈Spring 中 @EnableXXX 注解的套路

    本文主要介绍了浅谈Spring 中 @EnableXXX 注解的套路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • java代码实现对比分析对象是否有变化

    java代码实现对比分析对象是否有变化

    在项目中大家应该遇到过这种问题,需要分析对象是否发生变化,发生变化后,具体是哪个字段发生变化,本文为大家整理了一些方法,希望对大家有所帮助
    2026-04-04
  • Java如何去掉指定字符串的开头的指定字符

    Java如何去掉指定字符串的开头的指定字符

    这篇文章主要介绍了Java去掉指定字符串的开头的指定字符操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java中Date类和Strng类的灵活转化

    java中Date类和Strng类的灵活转化

    这篇文章主要介绍了java中Date类和Strng类的灵活转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Springboot整合logback多节点日志文件加端口号区分的操作方法

    Springboot整合logback多节点日志文件加端口号区分的操作方法

    这篇文章主要介绍了Springboot整合logback多节点日志文件加端口号区分的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 关于Hibernate的一些学习心得总结

    关于Hibernate的一些学习心得总结

    Hibernate是一个优秀的Java 持久化层解决方案,是当今主流的对象—关系映射(ORM)工具
    2013-07-07
  • java控制台输出图书馆管理系统

    java控制台输出图书馆管理系统

    这篇文章主要为大家详细介绍了java控制台输出图书馆管理系统,只用java代码不用数据库和GUI等,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 详解Maven Docker镜像使用技巧

    详解Maven Docker镜像使用技巧

    这篇文章主要介绍了详解Maven Docker镜像使用技巧,Maven是目前最流行的Java项目管理工具之一,提供了强大的包依赖管理和应用构建功能。本文以Maven为例介绍了Docker在应用构建中的一些常见技巧。
    2018-06-06
  • Java Record的使用场景分析

    Java Record的使用场景分析

    Java的Record用于简化不可变数据类定义,自动提供构造器、equals、hashCode等方法,字段默认final且不可变,适用于仅存储数据的场景,不支持手动添加非final字段,但允许扩展方法和静态成员,本文给大家介绍Java Record的使用,感兴趣的朋友一起看看吧
    2025-06-06
  • Spring Boot 中的 SockJS原理及使用方法

    Spring Boot 中的 SockJS原理及使用方法

    SockJS 的主要作用是提供一种 WebSocket 的兼容性解决方案,使得不支持 WebSocket 的浏览器也可以使用 WebSocket,本文介绍了Spring Boot中的SockJS,包括SockJS的原理,使用方法和示例代码,感兴趣的朋友跟随小编一起看看吧
    2023-07-07

最新评论