Mybatis提供了兩種方法來實現分頁查詢:
在Mapper方法中添加一個RowBounds參數,用于指定查詢的偏移量和限制數量。
在SQL語句中使用LIMIT
關鍵字來指定查詢的偏移量和限制數量。
在查詢結果中,只會返回指定偏移量和數量的數據。
例如:
// 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>
// 調用Mapper方法
List<User> users = userDao.getUsers(0, 10); // 查詢偏移量為0,限制數量為10的數據
在項目中引入PageHelper插件的依賴。
在Mapper接口方法上使用PageHelper.startPage()方法來開啟分頁查詢,并傳入頁碼和每頁顯示數量。
執行Mapper方法后,PageHelper會自動將查詢結果封裝成Page對象,其中包含了分頁相關的信息。
例如:
// 引入PageHelper插件的依賴
// 在Mapper接口方法中使用PageHelper.startPage()方法
List<User> getUsers(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);
// 調用Mapper方法
PageHelper.startPage(1, 10); // 查詢第1頁,每頁顯示10條數據
List<User> users = userDao.getUsers(1, 10);
// 獲取分頁相關信息
PageInfo<User> pageInfo = new PageInfo<>(users);
int total = pageInfo.getTotal(); // 獲取總記錄數
以上兩種方法都可以實現分頁查詢,具體選擇哪種方法取決于你的需求和項目情況。