MyBatis支持兩種類型的分頁:基于物理分頁和基于邏輯分頁。
-
基于物理分頁:
- 在SQL中使用LIMIT和OFFSET關鍵字來實現物理分頁。例如:SELECT * FROM table LIMIT #{offset}, #{limit}。
- 在Mapper接口中定義方法時,使用@Param注解來傳遞offset和limit參數。
-
基于邏輯分頁:
- 在SQL中不使用LIMIT和OFFSET關鍵字,而是查詢出所有符合條件的記錄,并在應用層通過Java代碼進行分頁處理。
- 在Mapper接口中定義方法時,使用@Param注解來傳遞查詢條件參數,并在方法中使用Java代碼進行分頁處理。
通常情況下,基于物理分頁是更常用和更高效的分頁方式。但基于邏輯分頁可以在查詢結果集較小的情況下,提供更靈活的分頁處理能力。選擇哪種分頁方式取決于具體的應用需求和數據庫性能。