Mybatis-plus怎么对一个多表查询好了的数据进行分页
时间: 2024-06-10 19:10:08 浏览: 110
使用 Mybatis-plus 分页插件可以对已经查询好的数据进行分页。具体步骤如下:
1.引入 Mybatis-plus 分页插件。
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
```
2.在 Mybatis-plus 的配置文件中开启分页插件。
```java
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}
```
3.查询多表数据并进行分页。
```java
public IPage<User> getUserPage(Page<User> page, Long roleId) {
return userMapper.getUserPage(page, roleId);
}
```
```xml
<!-- userMapper.xml -->
<select id="getUserPage" resultMap="userMap">
SELECT u.*, r.role_name
FROM user u
LEFT JOIN user_role ur ON u.id = ur.user_id
LEFT JOIN role r ON ur.role_id = r.id
WHERE r.id = #{roleId}
</select>
```
在上面的代码中,`getUserPage` 方法接收一个 `Page` 对象作为参数,表示要查询的页码和每页的记录数。在 SQL 语句中,使用了 `LEFT JOIN` 连接三张表,查询出了所有 `role_id` 等于指定值的用户记录,并且将角色名称也一并查询出来了。最后通过 Mybatis-plus 提供的分页插件将查询结果封装成了一个 `IPage` 对象返回。
阅读全文