springboot-mybatis整合pagehelper分頁外掛
阿新 • • 發佈:2021-07-14
1、引入jar包
implementation group: 'com.github.pagehelper', name: 'pagehelper-spring-boot-starter', version: 'XXXX'
2、新增配置
#pagehelper分頁外掛
pagehelper:
helper-dialect: oracle
reasonable: false
support-methods-arguments: true
params: count=countsql
3、分頁外掛引數介紹:
helperDialect
:分頁外掛會自動檢測當前的資料庫連結,自動選擇合適的分頁方式。 你可以配置helperDialect
oracle
,mysql
,mariadb
,sqlite
,hsqldb
,postgresql
,db2
,sqlserver
,informix
,h2
,sqlserver2012
,derby
特別注意:使用 SqlServer2012 資料庫時,需要手動指定為sqlserver2012
,否則會使用 SqlServer2005 的方式進行分頁。
你也可以實現AbstractHelperDialect
,然後配置該屬性為實現類的全限定名稱即可使用自定義的實現方法。
offsetAsPageNum
:預設值為false
,該引數對使用RowBounds
true
時,會將RowBounds
中的offset
引數當成pageNum
使用,可以用頁碼和頁面大小兩個引數進行分頁。rowBoundsWithCount
:預設值為false
,該引數對使用RowBounds
作為分頁引數時有效。 當該引數設定為true
時,使用RowBounds
分頁會進行 count 查詢。pageSizeZero
:預設值為false
,當該引數設定為true
時,如果pageSize=0
或者RowBounds.limit = 0
就會查詢出全部的結果(相當於沒有執行分頁查詢,但是返回結果仍然是Page
型別)。reasonable
:分頁合理化引數,預設值為false
true
時,pageNum<=0
時會查詢第一頁,pageNum>pages
(超過總數時),會查詢最後一頁。預設false
時,直接根據引數進行查詢。params
:為了支援startPage(Object params)
方法,增加了該引數來配置引數對映,用於從物件中根據屬性名取值, 可以配置pageNum,pageSize,count,pageSizeZero,reasonable
,不配置對映的用預設值, 預設值為pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
。supportMethodsArguments
:支援通過 Mapper 介面引數來傳遞分頁引數,預設值false
,分頁外掛會從查詢方法的引數值中,自動根據上面params
配置的欄位中取值,查詢到合適的值時就會自動分頁。 使用方法可以參考測試程式碼中的com.github.pagehelper.test.basic
包下的ArgumentsMapTest
和ArgumentsObjTest
。autoRuntimeDialect
:預設值為false
。設定為true
時,允許在執行時根據多資料來源自動識別對應方言的分頁 (不支援自動選擇sqlserver2012
,只能使用sqlserver
)。closeConn
:預設值為true
。當使用執行時動態資料來源或沒有設定helperDialect
屬性自動獲取資料庫型別時,會自動獲取一個數據庫連線, 通過該屬性來設定是否關閉獲取的這個連線,預設true
關閉,設定為false
後,不會關閉獲取的連線,這個引數的設定要根據自己選擇的資料來源來決定
3.程式碼中引入
Page<Object> page = PageHelper.startPage(pageNo, pageSize);
List<ProductGoodsBindVo> vos = proBindDao.productGoodsBindPage(storeName, productName);
分頁配置引數介紹參考:https://www.cnblogs.com/tp-apricot/articles/10967431.html
紙上得來終覺淺,絕知此事要躬行。