mybatis-plus 多字段in
时间: 2023-07-11 13:35:08 浏览: 416
如果你想在 MyBatis-Plus 中进行多字段的 IN 查询,可以使用 `in` 方法和 `Lambda` 表达式,如下所示:
```java
List<User> userList = userMapper.selectList(
Wrappers.<User>lambdaQuery()
.in(User::getId, 1, 2, 3)
.in(User::getName, "Tom", "Jerry")
);
```
这个例子中,我们使用 `lambdaQuery` 方法创建一个 `LambdaQueryWrapper` 对象,然后使用 `in` 方法传入多个字段和对应的值,即可实现多字段的 IN 查询。其中,`User::getId` 和 `User::getName` 代表了实体类中的两个字段,`1, 2, 3` 和 `"Tom", "Jerry"` 则是对应的值。最后,使用 `selectList` 方法执行查询,返回符合条件的结果集。
需要注意的是,如果其中一个字段的值是空集合或者 null,那么整个查询条件就会失效。此时,可以使用 `or` 方法将多个查询条件连接起来,以避免这种情况的发生。如下所示:
```java
List<User> userList = userMapper.selectList(
Wrappers.<User>lambdaQuery()
.in(User::getId, 1, 2, 3)
.or()
.in(User::getName, "Tom", "Jerry")
);
```
在这个例子中,我们使用 `or` 方法将两个查询条件连接起来,即使其中一个查询条件失效,另一个查询条件仍然可以生效,保证了查询的正确性。
阅读全文