LambdaQueryWrapper表达式查询 nested的使用
时间: 2024-02-03 17:10:33 浏览: 40
LambdaQueryWrapper是MyBatis-Plus框架提供的一个查询条件构造器,用于构建复杂的查询条件。在使用LambdaQueryWrapper进行查询时,可以通过nested方法来实现嵌套查询。
嵌套查询是指在查询条件中嵌套使用LambdaQueryWrapper对象,以构建更复杂的查询条件。通过nested方法,可以将一个LambdaQueryWrapper对象作为参数传入,实现嵌套查询。
下面是一个示例代码,演示了如何使用LambdaQueryWrapper进行嵌套查询:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getAge, 20)
.nested(w -> w.eq(User::getGender, "male").or().eq(User::getGender, "female"));
List<User> userList = userMapper.selectList(wrapper);
```
在上述示例中,首先创建了一个LambdaQueryWrapper对象wrapper,并设置了一个简单的查询条件:年龄等于20。然后通过nested方法,在LambdaQueryWrapper对象中嵌套了一个新的LambdaQueryWrapper对象w,并在新的对象w中设置了一个嵌套查询条件:性别等于"male"或者性别等于"female"。
最后,调用selectList方法执行查询,并将结果保存在userList中。
通过嵌套查询,可以构建更复杂的查询条件,满足不同的业务需求。