MyBatis提供了兩種方式實現分頁查詢:
int offset = 0; // 起始行
int limit = 10; // 頁大小
RowBounds rowBounds = new RowBounds(offset, limit);
List<User> users = sqlSession.selectList("UserMapper.selectUsers", null, rowBounds);
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
然后在查詢方法前調用PageHelper.startPage()方法來設置分頁參數,再通過PageInfo對象獲取查詢結果和分頁信息。例如:
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
int pageNum = 1; // 當前頁碼
int pageSize = 10; // 頁大小
PageHelper.startPage(pageNum, pageSize);
List<User> users = sqlSession.selectList("UserMapper.selectUsers", null);
PageInfo<User> pageInfo = new PageInfo<>(users);
long total = pageInfo.getTotal(); // 總記錄數
int pages = pageInfo.getPages(); // 總頁數
以上是兩種常用的MyBatis分頁查詢方式,可以根據實際需求選擇適合的方式。