Mybatis的分页插件pagehelper的使用介绍

一点都不萌的博主来水了,哈哈。

今天给大家介绍一下分页插件pageHelper的使用

首先我用的是maven项目,单纯的是一个顾客的增删改查

下面这是pageheilper的maven依赖

<dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>4.1.3</version>
    </dependency>

下来给大家说一下配置

 <property name="typeAliasesPackage" value="pojo;vo"></property>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageHelper">
                    <property name="properties">
                        <value>
                            dialect=mysql
                        </value>
                    </property>
                </bean>
            </array>
        </property>

我是在spring的配置文件中配置的,如果想在SpringMvc中配置的,大家可以上网查一查,这里我就不细说了。

配置完之后就可以去写查询的方法了,博主使用的springmvc,所以就写了一个list.action

核心代码如下:

int num = 1;
        String page = request.getParameter("page");
        System.out.println(page);
        if (page != null && !"".equals(page)) {
            num = Integer.parseInt(page);
        }
        //开始分页
        PageHelper.startPage(num, size);
        List<Customer> list = customerService.findCustomerByVo(vo);
        PageInfo<Customer> pagehelper=new PageInfo<Customer>(list,size);
        model.addAttribute("pagehelper",pagehelper);
调用PageHeiper的startPage方法,这个方法有两个参数,第一个是页数,第二个是每页展示的条数

紧跟着startPage方法下面的就是你的查询方法,它自动帮你计算分页

之后将从数据库查询的数据返回至jsp页面

查询写完了,下来我们该使用它的分页了

下面是我参照网上的代码写的一个分页jsp,使用的前端框架是bootstrapt

<div class="row">
                    <%--文字信息--%>
                    <div class="col-md-6">
                        当前${pagehelper.pageNum}页,共有${pagehelper.pages}页,共有${pagehelper.total}条记录
                    </div>
                    <%--分页导航信息--%>
                    <div class="col-md-6">
                        <nav aria-label="Page navigation">
                            <ul class="pagination">
                                <c:if test="${pagehelper.pageNum==1}">
                                    <li class="disabled"><a href="javascript:queryAllPerson(1);">首页</a></li>
                                </c:if>
                                <c:if test="${pagehelper.pageNum!=1}">
                                    <li><a href="javascript:queryAllPerson(1);">首页</a></li>
                                </c:if>

                                <c:if test="${pagehelper.hasPreviousPage}">
                                    <li>
                                        <a href="javascript:queryAllPerson(${pagehelper.pageNum-1});" aria-label="Previous">
                                            <span aria-hidden="true">«</span>
                                        </a>
                                    </li>
                                </c:if>

                                <c:forEach items="${pagehelper.navigatepageNums}" var="pageNum">
                                    <c:if test="${pageNum == pagehelper.pageNum}">
                                        <li class="active"><a href="javascript:queryAllPerson(${pageNum});">${pageNum}</a></li>
                                    </c:if>
                                    <c:if test="${pageNum != pagehelper.pageNum}">
                                        <li><a href="javascript:queryAllPerson(${pageNum});">${pageNum}</a></li>
                                    </c:if>
                                </c:forEach>
                                <c:if test="${pagehelper.hasNextPage}">
                                    <li>
                                        <a href="javascript:queryAllPerson(${pagehelper.pageNum+1});" aria-label="Next">
                                            <span aria-hidden="true">»</span>
                                        </a>
                                    </li>
                                </c:if>
                                <c:if test="${pagehelper.pageNum==pagehelper.pages}">
                                    <li class="disabled"><a href="javascript:queryAllPerson(${pagehelper.pages});">末页</a></li>
                                </c:if>
                                <c:if test="${pagehelper.pageNum!=pagehelper.pages}">
                                    <li><a href="javascript:queryAllPerson(${pagehelper.pages});">末页</a></li>
                                </c:if>

                            </ul>
                        </nav>
                    </div>
                </div>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
大家可以注意回到首页方法我的参数是数值1,因为我试了pagehelper的firstpage之后,他回到的并不是第一页,所以我就没有使用,想了解的大家可以自行测试

然后把这个jsp页面引入到你的数据页面

<div class="col-md-12 text-right" >
							<%@ include file="pageHelper2.jsp"%>  <!--  分页的插件-->
						</div>
大家注意我的这个分页操作的方法有一个queryAllperson的函数

所以大家要在自己的数据页面添加这么一个函数

<script type="text/javascript">
        function queryAllPerson(pageNum) {
            $("#pagehelper").load("${pageContext.request.contextPath }/customer/list.action?page=" + pageNum);
        }
	</script>
可以看出,我是发送请求之后将这个页面刷新,所以大家要在自己的页面中加上一个id为 pagehelper的div标签

我的页面是这样定义的

<body>
<div id="pageheiper>
页面内容
</div>
</body>
这样就能保证整个页面刷新,而不是局部刷新。好了到了这里,就算大功告成了。

下面贴出我的页面一张。


怎么样,还不赖吧



猜你喜欢

转载自blog.csdn.net/yanghan1222/article/details/78506818