mybatis-plus 自动填充创建时间/更新时间
短信预约 -IT技能 免费直播动态提醒
方式一:数据库级别
创建时间create_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP;
更新时间update_time字段设置类型为timestamp,默认值为CURRENT_TIMESTAMP,勾选根据当前时间戳更新。
实体类createTime字段设置数据类型为Date;
实体类updateTime字段设置数据类型为Date。
private Date createTime;private Date updateTime;
注意:
mysql只有是8.0版本以上的,才能设置默认值为CURRENT_TIMESTAMP,否则会保存时提示错误。
版本较低需要升级,可参考这篇博客:https://blog.csdn.net/jack__love/article/details/127514405
升级后查看版本:mysql --version
方式二:代码级别
在实体类字段属性上添加注解
@TableField(fill = FieldFill.INSERT)private Date createTime;@TableField(fill = FieldFill.INSERT_UPDATE)private Date updateTime;
编写处理器处理注解
package cn.com.dwr.handler;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import lombok.extern.slf4j.Slf4j;import org.apache.ibatis.reflection.MetaObject;import org.springframework.stereotype.Component;import java.util.Date;@Slf4j@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill....."); this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("updateTime", new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject) { log.info("start update fill....."); this.setFieldValByName("updateTime", new Date(), metaObject); }}
推荐第二种方式!
来源地址:https://blog.csdn.net/weixin_43771998/article/details/129974482
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341