mybatis分页查询
时间: 2023-10-17 13:17:50 浏览: 71
MyBatis 提供了一种方便的方式来进行分页查询,使用 `RowBounds` 对象可以指定查询结果的起始索引和返回的记录数。
下面是一个示例代码:
```java
public List<User> getUsersByPage(int start, int pageSize) {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
RowBounds rowBounds = new RowBounds(start, pageSize);
List<User> users = sqlSession.selectList("getUserByPage", null, rowBounds);
return users;
} finally {
sqlSession.close();
}
}
```
在上述代码中,我们使用 `RowBounds` 对象来指定查询结果的起始索引和返回的记录数。`getUserByPage` 是一个 MyBatis 映射文件中的 SQL 查询语句,在该语句中我们可以使用 `LIMIT` 关键字来限制返回的记录数。
同时,我们还需要在 MyBatis 的配置文件中添加分页插件,来实现分页查询的功能。下面是一个示例配置:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="dialect" value="mysql"/>
<property name="reasonable" value="true"/>
</plugin>
</plugins>
```
在上述配置中,我们添加了 `pagehelper` 插件作为 MyBatis 的拦截器,同时指定了数据库类型为 MySQL,并开启了一个 reasonable 选项,该选项表示是否启用合理化查询,即当查询的起始页码小于1时,自动将起始页码设置为1。
阅读全文