LambdaQueryWrapper怎么写三表联查
时间: 2024-03-06 08:45:40 浏览: 204
LambdaQueryWrapper是MyBatis-Plus框架提供的一个查询条件构造器,可以方便地进行数据库查询操作。在进行三表联查时,可以使用LambdaQueryWrapper的链式调用来构建查询条件。
下面是一个示例,演示如何使用LambdaQueryWrapper进行三表联查:
```java
// 导入相关的类
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
// 创建LambdaQueryWrapper对象
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
// 设置主表查询条件
queryWrapper.eq(User::getAge, 18);
// 进行关联查询
queryWrapper.inSql(User::getId, "SELECT user_id FROM user_role WHERE role_id IN (SELECT role_id FROM role_permission WHERE permission_id = 1)");
// 执行查询操作
List<User> userList = userMapper.selectList(queryWrapper);
```
上述示例中,我们创建了一个LambdaQueryWrapper对象,并设置了主表的查询条件(年龄等于18)。然后使用`inSql`方法进行关联查询,其中使用了子查询来获取需要关联的数据。最后,通过`selectList`方法执行查询操作,返回符合条件的用户列表。
阅读全文