0


mybatis-plus 自动填充创建时间/更新时间

方式一:数据库级别

创建时间create_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP;
更新时间update_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP,勾选根据当前时间戳更新

实体类createTime字段设置数据类型为Date;
实体类updateTime字段设置数据类型为Date。

privateDate createTime;privateDate updateTime;

注意:
mysql只有是8.0版本以上的,才能设置默认值为CURRENT_TIMESTAMP,否则会保存时提示错误。
版本较低需要升级,可参考这篇博客:https://blog.csdn.net/jack__love/article/details/127514405

升级后查看版本:mysql --version
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

方式二:代码级别

在实体类字段属性上添加注解

@TableField(fill =FieldFill.INSERT)privateDate createTime;@TableField(fill =FieldFill.INSERT_UPDATE)privateDate updateTime;

编写处理器处理注解

packagecn.com.dwr.handler;importcom.baomidou.mybatisplus.core.handlers.MetaObjectHandler;importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.reflection.MetaObject;importorg.springframework.stereotype.Component;importjava.util.Date;@Slf4j@ComponentpublicclassMyMetaObjectHandlerimplementsMetaObjectHandler{/**
     * 插入时的填充策略
     * @param metaObject
     */@OverridepublicvoidinsertFill(MetaObject metaObject){
        log.info("start insert fill.....");this.setFieldValByName("createTime",newDate(), metaObject);this.setFieldValByName("updateTime",newDate(), metaObject);}/**
     * 更新时的填充策略
     * @param metaObject
     */@OverridepublicvoidupdateFill(MetaObject metaObject){
        log.info("start update fill.....");this.setFieldValByName("updateTime",newDate(), metaObject);}}

推荐第二种方式!

标签: mybatis java mysql

本文转载自: https://blog.csdn.net/weixin_43771998/article/details/129974482
版权归原作者 不是七七子 所有, 如有侵权,请联系我们删除。

“mybatis-plus 自动填充创建时间/更新时间”的评论:

还没有评论