Mybatisplus的更新某个字段为null
时间: 2024-03-13 16:47:16 浏览: 95
Mybatis Plus 字段为空值时执行更新方法未更新解决方案
Mybatisplus 更新某个字段为 null 的方法有以下几种:
1. 直接在实体对象中将该字段的值设置为 null,然后调用 Mybatisplus 的 update 方法即可。例如:
```
User user = new User();
user.setId(1L);
user.setName(null);
userMapper.updateById(user);
```
2. 使用 UpdateWrapper 对象来更新该字段。例如:
```
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", 1L)
.set("name", null);
userMapper.update(null, updateWrapper);
```
在这个例子中,我们通过 UpdateWrapper 的 eq 方法指定更新条件,然后通过 set 方法将 name 字段的值设置为 null。
3. 使用 @TableField 注解来控制该字段的更新行为。例如:
```
public class User {
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String name;
// ...
}
```
在这个例子中,我们在 User 实体类的 name 字段上使用了 @TableField 注解,并将 updateStrategy 属性设置为 FieldStrategy.IGNORED。这样,在使用 update 方法更新实体时,如果 name 字段的值为 null,则 Mybatisplus 会忽略该字段的更新操作。
阅读全文