SSM使用pagehelper分页的完整例子

后台代码部分

首先在pom文件下引入pagehelper这个插件

<!--    mybatis 分页依赖 start-->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.1.2</version>
    </dependency>

controller层

    @RequestMapping("/find")
    public String findAll(@RequestParam(value = "pageNum" , defaultValue = "1") int pageNum,@RequestParam(value = "pageSize", defaultValue = "5") int pageSize,Integer id, Model model) {
        User user = userService.queryDateUserById(id);
        if (user.getRole() == 1){

            PageInfo<User> pageInfo = userService.queryUserDate(pageNum,pageSize);
            model.addAttribute("pageInfo", pageInfo);
            return "behindindex";
        }else{
            model.addAttribute("errMsg","权限不足");
            return "houtaiindex";
        }

    }

在这里引入两个参数pageNum,pageSize。

Service层

   PageInfo<User> queryUserDate(int pageNum, int pageSize);

Impl
public PageInfo<User> queryUserDate(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
       List<User> list = userMapper.queryAll();
        PageInfo<User> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }

Mapper层 不用改 插件会自动帮你做好

前端修改(JSP页面)
<c:forEach var="obj" items="${pageInfo.list}" varStatus="status">
                <tr>
                    <td>
                        ${status.count}
                    </td>
                    <td>
                        ${obj.username}
                    </td>
                    <td>
                            ${obj.password}
                    </td>
                    <td>
                            ${obj.loginfrequency}
                    </td>
                    <td>
                        <fmt:formatDate value="${obj.logintime}" pattern="yyyy-MM-dd HH:mm:ss"/>
                    </td>
                    <td>
                        <a href="${ctx}/user/findbyid?id=${obj.id}">修改</a>
                        <a href="${ctx}/user/delUser?id=${obj.id}" onclick="del()">删除</a>
                    </td>
                </tr>
                </c:forEach>
<span>共 ${pageInfo.pageNum} 页  共 ${pageInfo.total} 条</span>
可以显示在页面的左边例如 共1页 共5条数据

 <nav class="box-tools pull-right" aria-label="Page navigation example" style="margin-right: 2px">
                <ul class="pagination">
                    <li class="page-item" id="previous"><a class="page-link" href="javaScript:gotoPage('${pageInfo.pageNum-1}')">上一页</a></li>
                    <c:forEach begin="1" end="${pageInfo.pages}" var="i" step="1" >
                                                <li class="page-item">
                                                    <a class="page-link" href="javaScript:gotoPage('${i}')">${i}</a>
                                                </li>
                    </c:forEach>
                    <li id="next" class="page-item"><a class="page-link" href="javaScript:gotoPage('${pageInfo.pageNum+1}')">下一页</a></li>
                </ul>
            </nav>
js部分
    ifpage()
    function gotoPage(pageNum) {
        if (pageNum>=1 && pageNum<= ${pageInfo.total}){
            var numPerPageSelectVal = ${pageInfo.pageSize};
            // 跳转
            location.href = "${ctx}/user/find?id="+"${sessionScope.get("user").id}"+"&pageNum="+pageNum+"&pageSize="+"${pageInfo.pageSize}";

        }
    }
    function ifpage(){

        if("${pageInfo.pageNum-1}"<1){
            $("#previous").attr("class","page-item disabled")
        }
        if("${pageInfo.pageNum}">"${pageInfo.total}"/5){
            $("#next").attr("class","page-item disabled")
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值