lambdaquerywrapper如何多表查询
时间: 2023-06-05 07:06:51 浏览: 4188
LambdaQueryWrapper 是 MyBatis-Plus(一个基于 MyBatis 的增强工具)提供的一个查询构建器,可以简化 MyBatis 查询操作的编写。它通过链式调用构建查询条件,支持多表查询。
要实现 LambdaQueryWrapper 多表查询,需要使用 MyBatis-Plus 提供的 JoinWrapper 对象,通过调用 join 方法将多张表连接起来,然后再进行查询条件的构建。
以下是 LambdaQueryWrapper 多表查询的示例代码:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getStatus, 1).orderByAsc(User::getId);
JoinWrapper joinWrapper = new JoinWrapper();
joinWrapper.join(UserRole.class, UserRole::getUserId, User::getId)
.eq(UserRole::getRoleId, 2);
List<User> userList = userMapper.selectList(wrapper, joinWrapper);
```
在上述代码中,我们首先创建一个 LambdaQueryWrapper 对象,通过调用 eq 方法构建查询条件。然后创建一个 JoinWrapper 对象,并使用 join 方法将 User 和 UserRole 两张表连接起来,并设置连接条件。最后调用 selectList 方法执行查询。
阅读全文