如何自动填充creatTime和updateTime两种字段

简介: 如何自动填充creatTime和updateTime两种字段

1.mysql自带功能


首先是较为常见的,在mysql数据库里设置,但是我的mysql版本不支持该方法,如果尝试了后报错了请直接看方法二

sql语句预览


createTime timestamp not null default CURRENT_TIMESTAMP comment "创建时间",

   updateTime timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment "更新时间",


也就是创建时间这里不带时间戳,更新时间带上



2.自定义元对象处理器


首先将字段类型改为datetime

然后写一个元对象处理器方法


/**
 * 自定义元对象处理器,针对公共、重复字段进行自动填充
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        metaObject.setValue("createTime", LocalDateTime.now());
        metaObject.setValue("updateTime",LocalDateTime.now());
    }
    @Override
    public void updateFill(MetaObject metaObject) {
        metaObject.setValue("updateTime",LocalDateTime.now());
    }
}


最后将要自动填充的字段加上注解,并且注意一下属性类型(   LocalDateTime


    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)   //插入和更新时填充字段
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)   //插入和更新时填充字段
    private LocalDateTime updateTime;


最后看下效果


相关文章
|
17天前
|
Python
表单字段
【6月更文挑战第13天】表单字段。
19 4
|
2月前
配置字段自动填充
配置字段自动填充
19 0
|
2月前
AOP自动填充字段
AOP自动填充字段
42 0
|
8月前
|
数据库
MyBatisPlus中使用@TableField完成字段自动填充
MyBatisPlus中使用@TableField完成字段自动填充
|
SQL Java Spring
MyBatisPlus(八)自动填充字段(createTime/updateTime)
我们在项目中会用到createBy、createTime、updateBy、updateTime字段,来记录数据的插入和更新历史。若要实现这些字段的自动填充,MyBatisPlus需要增加一些配置,下面看具体内容吧。
433 0
|
数据采集
suning所获取的字段
suning所获取的字段
|
设计模式 C# uml
属性和字段
属性和字段
获取表的所有字段属性
获取表的所有字段属性
NoteExpress自定义题录表头显示字段
NoteExpress自定义题录表头显示字段
471 0
NoteExpress自定义题录表头显示字段