QueryWrapper (A,B) in ((xxx,xx), (yyy,yy))
时间: 2023-09-18 19:09:19 浏览: 39
如果要使用 QueryWrapper 实现多列 in 查询,其中每列的值也是一个元素列表,可以使用 QueryWrapper 的 in 方法,该方法可以接受一个 List<List<Object>> 对象作为参数,其中每个内部列表表示一组查询条件,内部列表的元素依次对应每个查询字段。
下面是一个示例代码:
```java
List<List<Object>> values = Arrays.asList(
Arrays.asList("xxx", "xx"),
Arrays.asList("yyy", "yy")
);
List<User> userList = new QueryWrapper<User>()
.in(Arrays.asList("A", "B"), values)
.list();
```
该代码使用 QueryWrapper 查询 A 列和 B 列中包含 ("xxx", "xx") 或 ("yyy", "yy") 的用户,并将查询结果存储在 userList 中。
需要注意的是,in 方法的第一个参数是一个 List,表示要查询的列名列表。第二个参数是一个 List<List<Object>>,表示要查询的元素列表。在元素列表中,每个内部列表的元素个数必须与列名列表的个数相同,否则会抛出异常。
相关问题
QueryWrapper (A,B) in ((xxx,yyy), (xx,yy))
如果要使用 QueryWrapper 实现多列 in 查询,其中每列的值也是一个元素列表,可以使用 QueryWrapper 的 in 方法,该方法可以接受一个 List<List<Object>> 对象作为参数,其中每个内部列表表示一组查询条件,内部列表的元素依次对应每个查询字段。
下面是一个示例代码:
```java
List<List<Object>> values = Arrays.asList(
Arrays.asList("xxx", "yyy"),
Arrays.asList("xx", "yy")
);
List<User> userList = new QueryWrapper<User>()
.in(Arrays.asList("A", "B"), values)
.list();
```
该代码使用 QueryWrapper 查询 A 列和 B 列中包含 ("xxx", "yyy") 或 ("xx", "yy") 的用户,并将查询结果存储在 userList 中。
需要注意的是,in 方法的第一个参数是一个 List,表示要查询的列名列表。第二个参数是一个 List<List<Object>>,表示要查询的元素列表。在元素列表中,每个内部列表的元素个数必须与列名列表的个数相同,否则会抛出异常。
QueryWrapper 组合in
如果要使用 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 对象来构建查询条件。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)