zoukankan      html  css  js  c++  java
  • PageHelper分页

    一、PageHelper介绍

          PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库;

    二、PaheHelper的使用

          1.集成方式:Maven方式

     <dependency>    
           <groupId>com.github.pagehelper</groupId>    
            <artifactId>pagehelper</artifactId>    
            <version>最新版本</version>
     </dependency>

           2.配置

                1)在spring中配置文件中的sqlSessionFactoryBean的配置中配置拦截器插件

    <!--配置sqlSessionFactory-->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
              <property name="dataSource" ref="dataSource"/>
            <!--传入PageHelper插件,分页插件-->
            <property name="plugins">
                <array>
                    <!--传入插件对象-->
                    <bean class="com.github.pagehelper.PageInterceptor">
                        <property name="properties">
                            <props>
                                <prop key="helperDialect">oracle</prop>
                                <prop key="reasonable">true</prop>
                            </props>
                        </property>
                    </bean>
                </array>
            </property>
        </bean>

                  2)配置介绍

                   helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式;

                   reasonable::分页合理化参数,默认值为 false 。当该参数设置为 true 时, pageNum<=0 时会查询第一 页, pageNum>pages (超过总数时),会查询最后一页。默认 false 时,直接根据参数进行查询。 

            3.基本使用

               1) PageHelper.startPage 静态方法调用

                      *   在你需要进行分页的 MyBatis 查询方法前调用PageHelper.startPage 静态方法即可,紧 跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

    //使用PageHelper指定从第几页开始,一页显示多少个
            PageHelper.startPage(1,5);
            return ordersDao.findAll();
    

             4.使用案例:

                  1)Service:                

    public List<Orders> findAll(int page, int size) throws Exception {
            //使用PageHelper指定从第几页开始,一页显示多少个
            PageHelper.startPage(page,size);
            return ordersDao.findAll();
    
        }

                2)  Controller   

    public ModelAndView findAll(@RequestParam(name="page",required = true,defaultValue = "1") Integer page,
                                    @RequestParam(name="size",required = true,defaultValue = "4") Integer size) throws Exception {
            ModelAndView mv=new ModelAndView();
            List<Orders> orderList =ordersService.findAll(page,size);
            //PageInfo分页管理的bean
            PageInfo pageInfo=new PageInfo(orderList);
            mv.addObject("pageInfo",pageInfo);
            mv.setViewName("orders-list");
            return mv;
        }

             3) 去页面设置相应的分页参数。

  • 相关阅读:
    浅拷贝与深拷贝
    Hibernate入门(1)-第一个Hibernate程序
    Spring入门(10)-Spring JDBC
    【Java,IDEA】创建自己的代码模版快速生成
    【Java,IDEA】使用IDEA自动生成序列化ID
    【Project】原生JavaWeb工程 02 登陆业务的流程(第一阶段样例)
    【AJAX】Asynchronous JavaScript And XML (非同步的JS & XML)
    【JS】06 语法补充
    【JS】05 DOM 文档对象模型 P2 元素的CRUD、Dom集合对象
    【JS】04 DOM 文档对象模型 P1 查找元素、改变内容、绑定事件
  • 原文地址:https://www.cnblogs.com/cqyp/p/12653715.html
Copyright © 2011-2022 走看看