MyBatis-Plus updateById方法更新不了date类型的字段为null 解决方法

MyBatis-Plus updateById方法更新不了date类型的字段为null 解决方法:

@ApiModelProperty(value = "开始时间")
@TableField(value = "START_TIME", fill = FieldFill.INSERT_UPDATE)
private Date startTime;

@ApiModelProperty(value = "结束时间")
@TableField(value = "END_TIME", fill = FieldFill.INSERT_UPDATE)
private Date endTime;
@ApiModelProperty(value = "是否删除: N - 未删除, Y - 已删除")
@TableField(value = "DEL_STATUS", fill = FieldFill.INSERT)
@TableLogic
private String delStatus;

自动填充:FieldFill.INSERT_UPDATE

需要自己实现填充规则,否则不传值时直接更新为null,

例如:

1 是否删除字段delStatus,就可以在填充规则里设置填充为N未删除

2 开始时间如果updateById()时可以为空则不设置填充规则就能将原来已有的时间更新为null

 

/**
* 自定义填充规则
*/
public class DateMetaObjectHandler implements MetaObjectHandler {
// 自定义填充配置文件
    private MybatisPlusAutoFillProperties autoFillProperties;

    public DateMetaObjectHandler(MybatisPlusAutoFillProperties autoFillProperties) {
        this.autoFillProperties = autoFillProperties;
    }
....


}

https://baomidou.com/guide/#%E7%89%B9%E6%80%A7

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离店日期:</label> <input type="date" id="check-out-date"> <label for="city">城市:</label> <input type="text" id="city"> <button type="submit">搜索</button> </form> 你可以使用 Mybatis-Plus 提供的 `UpdateWrapper` 来更新字段为空。下面是一个示例: ```java <!-- 显示搜索结果 --> </div> <!-- 路线规划 --> <div class="route"> <h2>UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("age", null).eq("id", 1); // 将 id路线规划</h2> <form> <label for="start">起点:</label> <input type="text" id="start"> <label for="end">终点:</label> <input type="text" id="end"> <button type="submit">搜索</button> </form> <!-- 显示搜索结果 --> </div> <!-- 为 1 的记录的 age 字段设置为 null int affectedRows = userMapper.update(null, updateWrapper); ``` 在上面的示例中,我们创建了一个 `UpdateWrapper` 对象,并使用 `set` 方法将 age 字段设置为 null,然后使用 `eq` 方法指定要更新的记录的条件(这里是 id=1)。最后调用 `userMapper.update` 方法执行更新操作。注意,第一个参数传入 null,表示不使用 entity 对象更新字段,而 车票购买 --> <div class="ticket"> <h2>车票购买</h2> <form> 是直接使用 `UpdateWrapper` 中的字段更新。 如果你想一次更新多个字段为空,可以调用多次 <label for="departure">出发地:</label> <input type="text" id="departure"> <label for="destination `set` 方法,如下所示: ```java UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("age">目的地:</label> <input type="text" id="destination"> <label for="departure-date">出发日期", null).set("email", null).eq("id", 1); // 将 id 为 1 的记录的 age 和 email:</label> <input type="date" id="departure-date"> <label for="return-date">返程日期:</label 字段设置为 null int affectedRows = userMapper.update(null, updateWrapper); ``` 希望能帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值