mybatisplus 分页变成列表
时间: 2023-06-28 17:13:53 浏览: 125
如果你想将 Mybatis-Plus 的分页结果变成普通的列表,可以使用 `list()` 方法获取所有数据。
例如:
```java
IPage<User> userPage = userService.page(new Page<>(1, 10));
List<User> userList = userPage.getRecords(); // 获取所有数据
```
其中,`getRecords()` 方法返回当前分页的所有数据列表。
相关问题
mybatisplus分页列表查询
Mybatis-plus 是 Mybatis 的一个增强工具,提供了很多便利的功能,包括分页查询。下面是使用 Mybatis-plus 进行分页列表查询的示例。
假设我们有一个 User 表,包含 id、name 和 age 字段,我们想要查询第 2 页(每页 10 条记录)的数据,可以按照以下步骤进行:
1. 创建一个分页对象 Page,设置当前页码和每页记录数:
```java
Page<User> page = new Page<>(2, 10);
```
2. 使用 Mybatis-plus 提供的 Page 类进行查询:
```java
IPage<User> userPage = userMapper.selectPage(page, null);
```
其中,第一个参数是 Page 对象,第二个参数是查询条件,这里传入 null 表示查询所有记录。
3. 获取查询结果:
```java
List<User> userList = userPage.getRecords();
long total = userPage.getTotal();
```
其中,getRecords() 方法返回当前页的记录列表,getTotal() 方法返回符合条件的总记录数。
完整示例代码如下:
```java
Page<User> page = new Page<>(2, 10);
IPage<User> userPage = userMapper.selectPage(page, null);
List<User> userList = userPage.getRecords();
long total = userPage.getTotal();
```
注意,在使用 Mybatis-plus 进行分页查询时,需要在 mapper.xml 文件中添加分页查询的 SQL,如下所示:
```xml
<select id="selectPage" parameterType="com.baomidou.mybatisplus.extension.plugins.pagination.Page" resultType="com.example.model.User">
select * from user
</select>
```
其中,Page 类型的参数需要指定为 com.baomidou.mybatisplus.extension.plugins.pagination.Page,resultType 指定为查询结果对应的实体类。
mybatisplus 分页
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 进行分页查询的基本步骤。
阅读全文
相关推荐








