mybatis-plus notIn 怎么不排除空的字段
时间: 2024-03-10 17:49:51 浏览: 88
Mybatis Plus 字段为空值时执行更新方法未更新解决方案
如果你想在 MyBatis-Plus 的 notIn 方法中包含空值字段,可以使用 `Null` 类型来代替空值。例如,将 null 值转换成 `Null` 类型的对象,如下所示:
```java
List<Object> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(new Null());
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notIn("id", idList);
List<User> userList = userMapper.selectList(wrapper);
```
在上面的代码中,我们将 null 值转换成 `Null` 类型的对象,并将这个对象添加到 idList 中。然后,在构建查询条件时,我们使用 notIn 方法进行查询,MyBatis-Plus 不会自动过滤掉 `Null` 类型的对象。因此,即使 idList 中包含了 `Null` 类型的对象,也会对查询结果产生影响。
需要注意的是,`Null` 对象是 MyBatis-Plus 提供的一个特殊类型,用于代表空值。如果你想要在 notIn 方法中包含空值字段,需要将空值转换成 `Null` 类型的对象。
阅读全文