mybatisplus 分页
时间: 2023-06-28 13:14:49 浏览: 52
MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上进行了扩展,提供了许多实用的功能,其中包括分页查询。
在 MyBatis-Plus 中,分页查询使用的是 Page 类。Page 类继承了 ArrayList 类,同时还包含了分页信息,如当前页码、每页记录数等。
以下是使用 MyBatis-Plus 进行分页查询的步骤:
1. 引入 MyBatis-Plus 的依赖。可以在 Maven 中添加以下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2. 在 MyBatis 的配置文件中,添加 MyBatis-Plus 的插件:
```xml
<plugins>
<plugin interceptor="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"/>
</plugins>
```
3. 在代码中使用 Page 类进行分页查询:
```java
// 创建 Page 对象
Page<User> page = new Page<>(1, 10);
// 调用 selectPage 方法进行分页查询
IPage<User> userPage = userMapper.selectPage(page, null);
// 获取分页结果
List<User> userList = userPage.getRecords();
long total = userPage.getTotal();
```
在上面的代码中,首先创建了一个 Page 对象,指定了当前页码和每页记录数。
然后调用 selectPage 方法进行分页查询,该方法会返回一个 IPage 对象,其中包含了查询结果和分页信息。
最后,从 IPage 对象中获取查询结果和总记录数。
需要注意的是,在进行分页查询时,需要在 SQL 中添加 limit 子句,MyBatis-Plus 会自动处理 limit 子句的生成。可以使用 ${page.offset} 和 ${page.size} 替代 limit 子句中的 offset 和 limit 参数,这样 MyBatis-Plus 就会自动生成正确的 limit 子句。例如:
```xml
<select id="selectUserPage" resultType="User">
SELECT * FROM user
LIMIT ${page.offset}, ${page.size}
</select>
```
以上就是使用 MyBatis-Plus 进行分页查询的基本步骤。