QueryWrapper 组合in
时间: 2023-07-12 12:18:28 浏览: 281
如果要使用 QueryWrapper 实现多组 in 查询,并使用 and 或 or 操作符进行组合,可以使用 QueryWrapper 的 and 和 or 方法,这两个方法接受一个 Lambda 表达式作为参数,该表达式返回一个 QueryWrapper 对象,表示要组合的查询条件。
下面是一个示例代码:
```java
List<List<Object>> values1 = Arrays.asList(
Arrays.asList("xxx", "xx"),
Arrays.asList("yyy", "yy")
);
List<List<Object>> values2 = Arrays.asList(
Arrays.asList("zzz", "zz"),
Arrays.asList("www", "ww")
);
List<User> userList = new QueryWrapper<User>()
.and(qw -> qw.in("A", values1))
.or(qw -> qw.in("B", values2))
.list();
```
该代码使用 QueryWrapper 查询 A 列中包含 ("xxx", "xx") 或 ("yyy", "yy"),并且 B 列中包含 ("zzz", "zz") 或 ("www", "ww") 的用户,并将查询结果存储在 userList 中。其中 and 方法表示使用 and 操作符组合两个查询条件,or 方法表示使用 or 操作符组合两个查询条件。
需要注意的是,and 和 or 方法的参数是一个 Lambda 表达式,表示要组合的查询条件。在 Lambda 表达式中,需要使用一个新的 QueryWrapper 对象来构建查询条件。
阅读全文