JAVA 后端使用pageHelper 对List进行分页(亲测)

JAVA 后端使用pageHelper 对List进行分页


由于PageHelper 自带的分页器只能作用于第一个SQL查询 对List数据无效所以需要进行处理

/**
     * 对List 分页
     * @param list
     * @param pageNum
     * @param pageSize
     * @return
     */
    public static PageInfo pageHelper(List list,Integer pageNum,Integer pageSize){
        Page page = new Page(pageNum, pageSize);
        int total = list.size();
        page.setTotal(total);
        int startIndex = (pageNum - 1) * pageSize;
        int endIndex = Math.min(startIndex + pageSize,total);
        if(startIndex>endIndex){
            page.addAll(new ArrayList());
            PageInfo pageInfo = new PageInfo<>(page);
            return pageInfo;
        }else{
            page.addAll(list.subList(startIndex,endIndex));
            PageInfo pageInfo = new PageInfo<>(page);
            return pageInfo;
        }
    }
放在工具类中直接调用即可

来源:JAVA 后端使用pageHelper 对List进行分页_冰月落的博客-CSDN博客_java的pagehelper分页

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对已有的数据进行分页,可以使用 Java 后端代码中的分页插件来实现。常用的分页插件有 MyBatis-PageHelper 和 Spring Data JPA 等。 以 MyBatis-PageHelper 为例,可以按照以下步骤进行配置和使用: 1. 在 pom.xml 中添加依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version> </dependency> ``` 2. 在 MyBatis 配置文件中添加插件: ```xml <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"/> </plugins> ``` 3. 在 Java 后端代码中使用 PageHelper.startPage 方法进行分页: ```java int pageNum = 1; // 当前页码 int pageSize = 10; // 每页显示数量 PageHelper.startPage(pageNum, pageSize); List<MyData> dataList = myDataMapper.selectData(); ``` 其中,MyDataMapper 是 MyBatis 中的 Mapper 接口,selectData 方法是查询数据的方法。 4. 在页面上显示分页导航条和数据: ```html <table> <thead> <tr> <th>id</th> <th>name</th> <th>age</th> </tr> </thead> <tbody> <c:forEach items="${dataList}" var="data"> <tr> <td>${data.id}</td> <td>${data.name}</td> <td>${data.age}</td> </tr> </c:forEach> </tbody> </table> <div class="pagination"> <ul> <c:forEach begin="1" end="${pageInfo.pages}" var="i"> <li class="${i == pageInfo.pageNum ? 'active' : ''}"> <a href="?pageNum=${i}&pageSize=${pageInfo.pageSize}">${i}</a> </li> </c:forEach> </ul> </div> ``` 其中,dataList 是从后端传递过来的数据列表,pageInfo 是 PageHelper 返回的分页信息对象,包含了当前页码、每页显示数量、总记录数、总页数等信息。在页面上使用 forEach 循环遍历 dataList 显示数据,并使用 forEach 循环遍历 pageInfo.pages 显示分页导航条。在分页导航条中,使用参数 pageNum 和 pageSize 来设置分页的页码和每页显示数量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值