mybatis-plus notIn会排除空的字段
时间: 2023-07-18 12:31:36 浏览: 99
Mybatis Plus 字段为空值时执行更新方法未更新解决方案
是的,MyBatis-Plus 的 notIn 方法会自动排除空值的字段。在不排除空值的情况下,如果传入的参数集合中包含空值,则会抛出 NullPointerException 异常。因此,MyBatis-Plus 在实现 notIn 方法时,会自动过滤掉传入参数集合中的空值。
例如,假设我们有一个 User 表,其中有一个状态字段 status,我们想要查询状态不为 1、2、3 的用户,我们可以使用 notIn 方法进行查询,如下所示:
```java
List<Integer> statusList = new ArrayList<>();
statusList.add(1);
statusList.add(2);
statusList.add(3);
QueryWrapper<User> wrapper = new QueryWrapper<User>();
wrapper.notIn("status", statusList);
List<User> userList = userMapper.selectList(wrapper);
```
在上面的代码中,我们传入了一个 statusList 集合,其中包含了 1、2、3 这三个值。MyBatis-Plus 会自动过滤掉这个集合中的空值,不对其进行查询。因此,即使 statusList 中包含空值,也不会对查询结果造成影响。
阅读全文