mybatis-plus 多个字段联合 in
时间: 2023-10-20 17:26:45 浏览: 799
如果你想在 MyBatis-Plus 中进行多个字段联合的 IN 查询,可以使用 `in` 方法和 `Lambda` 表达式结合使用,如下所示:
```java
List<User> userList = userMapper.selectList(
Wrappers.<User>lambdaQuery()
.in(User::getId, 1, 2, 3)
.and(wrapper -> wrapper
.in(User::getName, "Tom", "Jerry")
.or()
.in(User::getAge, 18, 20, 22)
)
);
```
这个例子中,我们使用 `lambdaQuery` 方法创建一个 `LambdaQueryWrapper` 对象,然后使用 `in` 方法传入多个字段和对应的值,其中第一个字段是 `User::getId`,第二个字段是 `User::getName` 和 `User::getAge`,对应的值分别是 `"Tom", "Jerry"` 和 `18, 20, 22`。其中,第二个字段使用了 `and` 方法和一个 `wrapper` 参数,表示这两个查询条件需要一起生效,而 `wrapper` 参数则是用于构建嵌套查询条件的。在 `wrapper` 中,我们使用 `in` 方法和 `or` 方法将两个查询条件连接起来,以实现多个字段联合的 IN 查询。最后,使用 `selectList` 方法执行查询,返回符合条件的结果集。
需要注意的是,如果其中一个字段的值是空集合或者 null,那么整个查询条件就会失效。此时,可以使用 `or` 方法将多个查询条件连接起来,以避免这种情况的发生。同时,如果你需要更加复杂的查询条件,可以使用 MyBatis-Plus 提供的其他方法和条件构造器来实现。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![](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)