SpringBoot+Mybatis+PageHelper實現分頁
mybatis自己沒有分頁功能,我們可以通過PageHelper工具來實現分頁,非常簡單方便
第一步:添加依賴
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
第二步:配置pagehelper
方式一:在yml配置文件中配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
方式二:使用@Bean注入配置
@Bean
public PageHelper getPageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("helperDialect", "mysql");
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
return pageHelper;
}
配置項說明:
helperDialect:指定數據庫
reasonable:默認是false。啓用合理化時,如果pageNum<1會查詢第一頁,如果pageNum>pages(最大頁數)會查詢最後一頁。禁用合理化時,如果pageNum<1或pageNum>pages會返回空數據
supportMethodsArguments:是否支持接口參數來傳遞分頁參數,默認false
params:爲了支持startPage(Object params)方法,增加了該參數來配置參數映射,用於從對象中根據屬性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認值, 默認值爲pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
其餘參數詳情請看官方文檔:https://pagehelper.github.io/docs/howtouse/
第三步:使用PageHelper的api分頁
PageHelper.startPage(pageCount, pageSize);
在查詢語句上一行添加以上語句,就可以實現分頁了。並不需要在具體的sql語句中寫limit語句,非常方便
pageCount:選擇頁數
pageSize:設定每頁記錄數