高版本springboot和mybatis在使用pageHelper时,无法分页或者分页失效

springboot版本3.1.5

mybatis版本3.0.2

如果你在csdn的其他博客里都没有找到解决的办法,或者按照他们的方法都不起作用。你可以试试把pageHelper的版本更新到最新版

然后运行程序,出现如下图所示,说明加载成功了。

来自高版本大冤种试了一下午其他方法后的结果。

以下是我的配置和例子

application.yml

Controller

@RequestMapping("/allByPage")
    public String allBookByPage(@RequestParam(defaultValue = "1") Integer pageNum,
                                HttpSession session,Model model){
        model.addAttribute("user",authService.findUser(session));
        if(pageNum == null){//若pageNum为空
            pageNum = 1;   //设置默认当前页为1
        }
        if(pageNum <= 0){  //若为负数
            pageNum = 1;   //设置默认值为1
        }
        int pageSize = 2;
        PageHelper.startPage(pageNum,pageSize);
        try {
            List<LeaveMsg> approvalMsg = approvalService.getAllApprovalByState("审批中");
            model.addAttribute("approvalMsgList", approvalMsg);
            PageInfo<LeaveMsg> pageInfo = new PageInfo<>(approvalMsg, pageSize);
            model.addAttribute("pageInfo", pageInfo);
            System.out.println(pageInfo);
        }finally {
            PageHelper.clearPage(); //清理 ThreadLocal 存储的分页参数,保证线程安全
        }
    return "admin/approval";
    }

approvalService

approvalServiceImpl

mapper

前端

<table class="mb-table">
            <thead>
            <tr>
                <th>序号</th>
                <th>工号</th>
                <th>姓名</th>
                <th>请假开始时间</th>
                <th>请假截止时间</th>
                <th>请假类型</th>
                <th>请假理由</th>
                <th>审批进度</th>
                <th class="t-ipAddress">IP地址</th>
                <th>申请时间</th>
                <th>附件</th>
                <th>操作</th>
            </tr>
            </thead>
            <tbody>
            <tr th:each="approval,infoStat : ${approvalMsgList}">
                <td th:text="${approval.getId()}">序号</td>
                <td th:text="${approval.getJobNum()}">工号</td>
                <td th:text="${approval.getName()}">姓名</td>
                <td th:text="${approval.getLeaveTime1()}">请假时间</td>
                <td th:text="${approval.getLeaveTime2()}">销假时间</td>
                <td th:text="${approval.getLeaveType()}">请假类型</td>
                <td>
                    <a class="leaveReason-menu reject-a">查看</a>
                    <div class="reject-menu-down leaveReasonSH"></div>
                    <div class="reject-menu-form leaveReasonSH">
                        <label>
                            <textarea readonly name="rejectReason" cols="100" rows="30"
                                      th:text="${approval.getLeaveReason()}"></textarea>
                        </label>
                        <div>
                            <button class="leaveReason-menu" type="button">返回</button>
                        </div>
                    </div>
                </td>
                <td th:text="${approval.getState()}">审批进度</td>
                <td th:text="${approval.getInetAddress()}">请假设备IP地址</td>
                <td th:text="${approval.getOperationTime()}">申请时间</td>
                <td th:style="'display:' + ${approval.getLeaveType().equals('病假') ? 'block' : 'none'}">
                    <div>
                        <div th:style="'display:' + ${approval.getPath1().equals('无路径') ? 'none' : 'block'}">
                            <a class="reject-a" th:href="${approval.getPath1()}" target="_blank">附件1</a>
                        </div>
                        <div th:style="'display:' + ${approval.getPath2().equals('无路径') ? 'none' : 'block'}">
                            <a class="reject-a" th:href="${approval.getPath2()}" target="_blank">附件2</a>
                        </div>
                        <div th:style="'display:' + ${approval.getPath3().equals('无路径') ? 'none' : 'block'}">
                            <a class="reject-a" th:href="${approval.getPath3()}" target="_blank">附件3</a>
                        </div>
                    </div>
                </td>
                <td>
                    <div>
                        <ul>
                            <li>
                                <a class="reject-a"
                                   th:href="@{/api/admin/consent(id=${approval.getId()})}"><i></i>同意</a>
                            </li>
                            <li>
                                <a class="reject-menu reject-a"><i></i>驳回</a>
                                <div class="reject-menu-down rejectSH"></div>
                                <form class="reject-menu-form rejectSH"
                                      th:action="@{/api/admin/reject(id=${approval.getId()})}" method="post">
                                    <label>
                                        <textarea name="rejectReason" cols="100" rows="30"
                                                  placeholder="请简要说明驳回理由:"></textarea>
                                    </label>
                                    <div>
                                        <button type="submit">提交</button>
                                        <button class="reject-menu" type="button">返回</button>
                                    </div>
                                </form>
                            </li>
                        </ul>
                    </div>
                </td>
            </tr>
            </tbody>
        </table>
        <div class="mb-div2">
            <div>
                <strong>当前第 [[${pageInfo.pageNum}]]页,共 [[${pageInfo.pages}]] 页.一共 [[${pageInfo.total}]] 条记录
                </strong>
            </div>
            <div>
                <ul class="paging" style="float: right">
                    <!--首页-->
                    <li class="paging-item">
                        <a class="paging-a"
                           th:href="@{/api/admin/allByPage(pageNum=${pageInfo.navigateFirstPage})}">首页</a>
                    </li>
                    <!--上一页-->
                    <li class="paging-item">
                        <a class="paging-a" th:href="@{/api/admin/allByPage(pageNum=${pageInfo.prePage})}">上一页</a>
                    </li>
                    <!--循环遍历显示中间的页数-->
                    <li class="paging-item" th:each="list:${pageInfo.navigatepageNums}">
                        <a th:href="@{/api/admin/allByPage(pageNum=${list})}" th:text="${list}"
                           th:if="${list != pageInfo.pageNum}"></a>
                        <span style="font-weight: bold;background: greenyellow;" th:if="${list == pageInfo.pageNum}"
                              th:text="${list}"></span>
                    </li>
                    <!--下一页-->
                    <li class="paging-item" th:if="${pageInfo.hasNextPage}">
                        <a class="paging-a" th:href="@{/api/admin/allByPage(pageNum=${pageInfo.nextPage})}">下一页</a>
                    </li>
                    <!--尾页-->
                    <li class="paging-item">
                        <a class="paging-a"
                           th:href="@{/api/admin/allByPage(pageNum=${pageInfo.navigateLastPage})}">尾页</a>
                    </li>
                </ul>
            </div>
        </div>

a标签的地址带上参数导到上面对应的Controller里就行了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值