QueryWrapper如何嵌套查询
时间: 2023-11-11 09:52:12 浏览: 161
mybatis plus条件构造器queryWrapper、updateWrapper
QueryWrapper可以通过嵌套查询实现更复杂的查询条件。可以使用lambda表达式或者Wrapper对象来构建嵌套查询。
使用lambda表达式时,可以通过eq()、ne()、gt()、ge()、lt()、le()等方法来设置查询条件,并通过nested()方法来嵌套查询。示例如下:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(User::getAge, 18)
.and(qw -> qw.eq(User::getName, "张三").or().eq(User::getName, "李四"));
```
使用Wrapper对象时,可以通过eq()、ne()、gt()、ge()、lt()、le()等方法来设置查询条件,并通过nested()方法来嵌套查询。示例如下:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("age", 18)
.and(qw -> qw.eq("name", "张三").or().eq("name", "李四"));
```
以上示例中,使用了nested()方法将name为"张三"和name为"李四"的查询条件嵌套在一起,并通过and()方法将age为18的查询条件与嵌套查询条件组合在一起。
阅读全文