一丶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中.