MyBatis 分頁插件 PageHelper 是一個開源的分頁插件,可以用于實現 MyBatis 的分頁查詢功能。
以下是使用 PageHelper 插件的步驟:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>最新版本</version>
</dependency>
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<properties>
<!-- 分頁參數配置 -->
<!-- dialect 屬性用于配置數據庫方言,默認為 mysql -->
<property name="dialect" value="mysql"/>
<!-- rowBoundsWithCount 屬性用于配置是否需要查詢總數,默認為 false -->
<property name="rowBoundsWithCount" value="true"/>
<!-- reasonable 屬性用于配置是否啟用合理化查詢,默認為 false -->
<property name="reasonable" value="true"/>
</properties>
</plugin>
</plugins>
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
...
// 在查詢之前調用 PageHelper.startPage 方法,傳入當前頁碼和每頁顯示的數量
PageHelper.startPage(pageNum, pageSize);
// 執行查詢語句
List<Entity> entities = yourMapper.yourQueryMethod();
// 使用 PageInfo 對象包裝查詢結果,并傳入需要顯示的頁碼數量
PageInfo<Entity> pageInfo = new PageInfo<>(entities, navigatePages);
其中,pageNum 參數表示當前頁碼,pageSize 參數表示每頁顯示的數量,yourMapper.yourQueryMethod() 表示你的查詢語句的方法。
// 獲取當前頁碼
int currentPage = pageInfo.getPageNum();
// 獲取每頁顯示的數量
int pageSize = pageInfo.getPageSize();
// 獲取總記錄數
long total = pageInfo.getTotal();
// 獲取總頁數
int pages = pageInfo.getPages();
// 獲取查詢結果
List<Entity> resultList = pageInfo.getList();
這樣就可以使用 PageHelper 插件進行分頁查詢了。