springboot mybatisplus createtime和updatetime自动填充

需求:数据库设计的表中有createtime和updatetime两个字段,①新增时createtime和updatetime默认赋值当前时间,②修改是updatetime赋值为当前时间

①新增时两个时间的默认值可以通过数据库设置默认值解决

②修改时updatetime的赋值遇到了一点坑

首先百度到mybatisplus官方手册,自动填充功能,貌似能解决我的问题,https://mp.baomidou.com/guide/auto-fill-metainfo.html

但是经过一番测试下来,修改时updatetime并没有更新,为毛呢,原来更新的数据是由之前查询而来,既然是查询而来,那updatetime自然是有值的,所以填充失败,自动填充功能只针对为null时才会填充

继续百度呗,还真找到了另一个解决方案

@ApiModelProperty(value = "修改时间")
    @TableField(value = "update_time",update = "now()")
    private LocalDateTime updateTime;

所以一句 @TableField(value = "update_time",update = "now()")解决问题,但是我用的是mysql没有测试过其他数据库是否能成,用过的大佬可以分享一下

原文地址:https://www.cnblogs.com/jianghaidong/p/14742046.html