1. 程式人生 > 其它 >020.PageHelper分頁外掛

020.PageHelper分頁外掛

1.分頁查詢要面臨的問題

 2.使用流程

 2.1 pom.xml

       <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.10</version>
        </dependency>
        
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>2.0</version>
        </dependency>

        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.4</version>
        </dependency>

2.2  mybatis-config.xml

 <!--啟用Pagehelper分頁外掛-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!--設定資料庫型別-->
            <property name="helperDialect" value="mysql"/>
            <!--分頁合理化-->
            <property name="reasonable" value="true"/>
        </plugin>
    </plugins>

2.3  分頁的處理

2.3.1  goods.xml

    <select id="selectPage" resultType="com.imooc.mybatis.entity.Goods">
        select * from t_goods where current_price &lt; 1000
    </select>

2.3.2  測試類

@Test
    /**
     * PageHelper分頁查詢
     */
    public void testSelectPage() throws Exception {
        SqlSession session 
= null; try { session = MyBatisUtils.openSession(); /*startPage方法會自動將下一次查詢進行分頁*/ PageHelper.startPage(2,10); Page<Goods> page = (Page) session.selectList("goods.selectPage"); System.out.println("總頁數:" + page.getPages()); System.out.println("總記錄數:" + page.getTotal()); System.out.println("開始行號:" + page.getStartRow()); System.out.println("結束行號:" + page.getEndRow()); System.out.println("當前頁碼:" + page.getPageNum()); List<Goods> data = page.getResult();//當前頁資料 for (Goods g : data) { System.out.println(g.getTitle()); } System.out.println(""); } catch (Exception e) { throw e; } finally { MyBatisUtils.closeSession(session); } }