当timestamp类型字段(如:create_time) 默认值设置为 CURRENT_TIMESTAMP 时,表示当插入数据的时候,该字段(create_time)默认值为当前时间
当timestamp类型字段(如:update_time),被勾选上“根据当前时间戳更新”后,表示每次有其他字段被更新时,该字段(update_time)都会自动更新为当前时间。
以上是数据库端对create_time和update_time的简单配置
也可以在后端利用mybatis-plus来设置create_time和update_time
1.实体类中设置两个字段createTime和updateTime
2.在字段前加入@TableField注解
//插入时填充字段 需要自己写填充策略
@TableField(fill = FieldFill.INSERT)
private Date createTime;
//插入、更新时填充字段 需要自己写填充策略
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
3.写填充策略
@Slf4j //日志
@Component // 一定不要忘记把处理器加到IOC容器中 实现bean的注入
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override //插入时的填充策略
public void insertFill(MetaObject metaObject) {
log.info("开始插入填充");
this.setFieldValByName("createTime",new Date(),metaObject);
this.setFieldValByName("updateTime",new Date(),metaObject);
}
@Override //更新时的时的填充策略
public void updateFill(MetaObject metaObject) {
log.info("开始更新填充");
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}