LambdaQueryWrapper级联查询
时间: 2023-11-14 15:11:16 浏览: 101
Oracle数据库中的级联查询、级联删除、级联更新操作教程
LambdaQueryWrapper可以通过lambda表达式进行级联查询,例如:
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getUsername, "张三")
.nested(i -> i.eq(User::getAge, 18).or().eq(User::getAge, 20));
List<User> userList = userMapper.selectList(wrapper);
```
以上代码中,我们使用LambdaQueryWrapper进行了一个级联查询,查询条件为用户名为“张三”且年龄为18或20的用户列表。其中,`.nested()`方法用于嵌套查询条件,`.or()`方法用于连接多个查询条件,表示或的关系。
另外,LambdaQueryWrapper还支持多表关联查询,例如:
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getUsername, "张三")
.inSql(User::getId, "select user_id from user_role where role_id = 1");
List<User> userList = userMapper.selectList(wrapper);
```
以上代码中,我们使用LambdaQueryWrapper进行了一个多表关联查询,查询条件为用户名为“张三”且角色为1的用户列表。其中,`.inSql()`方法用于查询子查询结果中包含某个字段值的记录。
阅读全文