關於myBatis中分頁插件pageHelper的使用


一丶jar包下載地址

    https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/

    http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ 

    在其中默認使用了sql解析工具,所以應該連同jsqlparser.jar下載:   http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.5/ 

二丶maven中做標導入 

    <dependency>

      <groupId>com.github.pagehelper</groupId>

      <artifactId>pagehelper</artifactId>

      <version>最新版本</version>

    </dependency> 


三丶單獨使用mybatis時如何配置  

    <plugins>

      <!-- com.github.pagehelper為PageHelper類所在包名 -->

      <plugin interceptor="com.github.pagehelper.PageInterceptor">

        <!-- 使用下面的方式配置參數,后面會有所有的參數介紹 -->

        <property name="param1" value="value1"/>

      </plugin>

    </plugins> 

四丶myBatis交由spring管理時如何配置

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

      <!-- 注意其他配置 -->

      <property name="plugins">

      <array>

      <bean class="com.github.pagehelper.PageInterceptor">

      <property name="properties">

      <!--使用下面的方式配置參數,一行配置一個 -->

      Eg:<props>

        <prop key=”helperDialect ”>mysql</prop>

        </props>

    pr  //<value>

      //params=value1

        //</value>

      </property>

    </bean>

    </array>

    </property>

    </bean>

五丶參數詳解

  1.helperDialect (常用配置):分頁插件會自動檢測當前的數據庫鏈接,自動選擇合適的分頁方式。 你可以配置 helperDialect 屬性來指定分頁插件使用哪種方言。配置時,可以使用下面的縮寫值:

oracle , mysql , mariadb , sqlite , hsqldb , postgresql , db2 , sqlserver , informix , h2 , sqlserver2012 , derby  特別注意:使用 SqlServer2012 數據庫時,需要手動指定為 sqlserver2012 ,否則會使用 SqlServer2005 方式進行分頁。你也可以實現 AbstractHelperDialect ,然后配置該屬性為實現類的全限定名稱即可使用自定義的實現方法。

  2. offsetAsPageNum :默認值為 false ,該參數對使用 RowBounds 作為分頁參數時有效。 當該參數設置為 true 時,會將 RowBounds 中的 offset 參數當成 pageNum 使用,可以用頁碼和頁面大小兩個參數進行分頁。

  3. rowBoundsWithCount :默認值為 false ,該參數對使用 RowBounds 作為分頁參數時有效。 當該參數設置 true 時,使用 RowBounds 分頁會進行 count 查詢。

  4. pageSizeZero :默認值為 false ,當該參數設置為 true 時,如果 pageSize=0 或者 RowBounds.limit = 0 就會查詢出全部的結果(相當於沒有執行分頁查詢,但是返回結果仍然是 Page 類型)。

  5. reasonable(常用配置) :分頁合理化參數,默認值為 false 。當該參數設置為 true 時, pageNum<=0 時會查詢第一頁, pageNum>pages (超過總數時),會查詢最后一頁。默認 false 時,直接根據參數進行查詢。

  6. params :為了支持 startPage(Object params) 方法,增加了該參數來配置參數映射,用於從對象中根據屬 性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable ,不配置映射的用默認值, 默認值為  pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。

  7. autoRuntimeDialect :默認值為 false 。設置為 true 時,允許在運行時根據多數據源自動識別對應方言 的分頁 (不支持自動選擇 sqlserver2012 ,只能使用 sqlserver ),用法和注意事項參考下面的場景五

  8. closeConn :默認值為 true 。當使用運行時動態數據源或沒有設置 helperDialect 屬性自動獲取數據庫類 型時,會自動獲取一個數據庫連接, 通過該屬性來設置是否關閉獲取的這個連接,默認 true 關閉,設置為 false 后,不會關閉獲取的連接,這個參數的設置要根據自己選擇的數據源來決定。

六丶使用方法 

  在執行查詢(執行sql前)之前在service實現中,寫入
  pageHelper.startPage(pageNum,pageSize)而后封裝如page或者pageInfo中.

 


免責聲明!

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



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