溫馨提示×

mybatis如何進(jìn)行分頁

小億
102
2023-08-23 08:44:45
欄目: 編程語言

Mybatis提供了兩種方法來實(shí)現(xiàn)分頁查詢:

  1. 使用RowBounds參數(shù):
  • 在Mapper方法中添加一個(gè)RowBounds參數(shù),用于指定查詢的偏移量和限制數(shù)量。

  • 在SQL語句中使用LIMIT關(guān)鍵字來指定查詢的偏移量和限制數(shù)量。

  • 在查詢結(jié)果中,只會(huì)返回指定偏移量和數(shù)量的數(shù)據(jù)。

例如:

// Mapper接口方法
List<User> getUsers(@Param("offset") int offset, @Param("limit") int limit);
// Mapper XML配置文件
<select id="getUsers" resultType="User">
SELECT * FROM users
LIMIT #{offset}, #{limit}
</select>
// 調(diào)用Mapper方法
List<User> users = userDao.getUsers(0, 10);  // 查詢偏移量為0,限制數(shù)量為10的數(shù)據(jù)
  1. 使用PageHelper插件:
  • 在項(xiàng)目中引入PageHelper插件的依賴。

  • 在Mapper接口方法上使用PageHelper.startPage()方法來開啟分頁查詢,并傳入頁碼和每頁顯示數(shù)量。

  • 執(zhí)行Mapper方法后,PageHelper會(huì)自動(dòng)將查詢結(jié)果封裝成Page對象,其中包含了分頁相關(guān)的信息。

例如:

// 引入PageHelper插件的依賴
// 在Mapper接口方法中使用PageHelper.startPage()方法
List<User> getUsers(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);
// 調(diào)用Mapper方法
PageHelper.startPage(1, 10);  // 查詢第1頁,每頁顯示10條數(shù)據(jù)
List<User> users = userDao.getUsers(1, 10);
// 獲取分頁相關(guān)信息
PageInfo<User> pageInfo = new PageInfo<>(users);
int total = pageInfo.getTotal();  // 獲取總記錄數(shù)

以上兩種方法都可以實(shí)現(xiàn)分頁查詢,具體選擇哪種方法取決于你的需求和項(xiàng)目情況。

0