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) 去頁面設置相應的分頁參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM