1. 程式人生 > >SpringBoot2.0使用pagehelper進行分頁查詢

SpringBoot2.0使用pagehelper進行分頁查詢

SpringBoot2.0使用pagehelperjin進行分頁查詢

pagehelper是一款分頁外掛,可以很好地整合在SpringBoot框架中,簡單配置,輕鬆使用
在使用pagehelper這個外掛進行分頁之前,我們需要先整合一款持久層框架,我這裡繼承了mybatis,如果有需要,可以看我之前的部落格,瞭解一下如何整合mybatis持久層框架以及配置Druid資料來源。
SpringBoot2.0整合Mybatis(簡單配置druid及pagehelper)
當然,之前的這篇部落格已經集成了pagehelper,但是本片部落格分享的是如何去配置和使用以及更加詳細的講解,也作為我自己使用這個外掛的一個記錄分享出來。
首先在pom中新增依賴

<!-- 分頁外掛 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
        </dependency>

我這裡用的是最新版的,這個版本釋出也好幾個月了,應該還是比較穩定的,用法和之前的版本也不會很大
此外,我新增的依賴是專門用於Springboot的pagehelper工具合集(可能我的說法不準確),當然也可以新增其他的,如下:

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.4</version>
</dependency>

這個就是普通的maven依賴了,目前最新的版本是5.1.4,當然用上面的那個是最好的啦,這個僅僅拉出來瞭解一下

接下來就開始寫配置檔案了

pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: 

是不是也很簡單,下面詳細講一下各個引數的含義:

helper-dialect:指定資料庫,不指定的話會預設自動檢測資料庫型別

reasonable:是否啟用分頁合理化。如果啟用,當pagenum<1時,會自動查詢第一頁的資料,當pagenum>pages時,自動查詢最後一頁資料;不啟用的,以上兩種情況都會返回空資料
support-methods-arguments:預設值false,分頁外掛會從查詢方法的引數值中,自動根據上面 params 配置的欄位中取值,查詢到合適的值時就會自動分頁。(copy來的,因為我也不知道怎麼去解釋)

params:用於從物件中根據屬性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置對映的用預設值, 預設值為pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

當然還有其他的引數,這裡不一一講了,常用的基本上就是這幾個了。

接下來就是使用了,也是很簡單,一行程式碼的事

    public List<User> getUsers(int pagenum) {
        PageHelper.startPage(pagenum,100);
        return userDao.getUsers();
    }

只需要在你查詢資料的那一句程式碼前面,寫上這個方法,傳入pageNum(頁數)和pageSize(行數)就可以了
當然還有其他使用方法,但是這個方法是最簡單的啦。
點選訪問GitHub原始碼
在我的GitHub原始碼就有一個搭建好的空的框架,歡迎大家clone,也希望更多的點評和指正,謝謝。
如果雷同,應該是我抄你了,sorry。