使用Spring Boot PageHelper進行分頁

一、PageHelper介紹

PageHelper是一個開源的Mybatis分頁插件,可以實現物理分頁,支持多種數據庫,包括Oracle、Mysql、SqlServer等。使用PageHelper可以輕鬆地在Spring Boot中進行分頁操作。

二、在Spring Boot中使用PageHelper

首先,我們需要添加PageHelper依賴:


<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.13</version>
</dependency>

然後,在application.properties文件中配置分頁插件:


#配置分頁插件
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.autoRuntimeDialect=true

其中,helperDialect表示分頁插件的方言,比如Mysql、SqlServer;reasonable設置為true表示啟用合理化分頁;supportMethodsArguments表示支持方法參數;params=count=countSql表示通過countSql查詢總數;autoRuntimeDialect表示自動根據當前環境選擇方言。

三、在Spring Boot中進行分頁操作

在需要進行分頁的方法中使用PageHelper.startPage方法,即可實現分頁操作:


//獲取第1頁,10條內容,默認查詢總數count
PageHelper.startPage(1, 10);
//緊跟着的第一個查詢會被分頁
List<User> list = userMapper.selectUsers();
//用PageInfo對結果進行包裝
PageInfo<User> pageInfo = new PageInfo<User>(list);
//測試PageInfo全部屬性
//PageInfo包含了非常全面的分頁屬性
assertEquals(1, pageInfo.getPageNum());
assertEquals(10, pageInfo.getPageSize());
assertEquals(1, pageInfo.getStartRow());
assertEquals(10, pageInfo.getEndRow());
assertEquals(183, pageInfo.getTotal());
assertEquals(19, pageInfo.getPages());
assertEquals(1, pageInfo.getFirstPage());
assertEquals(8, pageInfo.getLastPage());
assertEquals(true, pageInfo.isHasPreviousPage());
assertEquals(true, pageInfo.isHasNextPage());
assertEquals(false, pageInfo.isIsFirstPage());
assertEquals(false, pageInfo.isIsLastPage());

其中,startPage方法的參數表示需要顯示的頁面和每頁顯示的記錄數。selectUsers方法是查詢所有用戶的方法。可以通過PageInfo對象獲取到所有分頁相關的屬性,比如當前頁、總頁數、總記錄數、是否有前一頁、是否有後一頁等。

四、結論

使用Spring Boot PageHelper插件可以輕鬆實現分頁操作,方便快捷。在實際開發中,我們可以根據業務需求靈活使用。當然,還有其他的分頁插件可以使用,可以根據具體情況選擇和比較。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/201287.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-06 11:31
下一篇 2024-12-06 11:31

相關推薦

發表回復

登錄後才能評論