LambdaQueryWrapper多表分页查询
时间: 2023-10-12 17:17:13 浏览: 292
LambdaQueryWrapper 是 MyBatis-Plus 中用于构建 SQL 查询语句的工具类。要进行多表分页查询,可以使用 LambdaQueryWrapper 的 join 方法来进行多表连接查询,然后使用 Page 对象进行分页。以下是一个示例代码:
```java
Page<User> page = new Page<>(1, 10);
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getStatus, 1)
.join(UserRole.class, UserRole::getUserId, User::getId)
.eq(UserRole::getRoleId, 2)
.select(User::getId, User::getUsername, User::getEmail);
IPage<User> userPage = userService.page(page, wrapper);
```
这个例子中,我们查询了用户表和用户角色表,条件是用户状态为 1,角色为 2。我们使用的是 LambdaQueryWrapper 的 join 方法来进行多表连接查询,连接条件是用户表的 id 字段等于用户角色表的 user_id 字段。然后我们使用 Page 对象进行分页查询,第一个参数是当前页码,第二个参数是每页的数据条数。最后我们调用 userService 的 page 方法进行查询,返回的是一个 IPage 对象,其中包含了查询结果和分页信息。
阅读全文