MyBatis-Plus—日期时间自动填充

创建时间、修改时间!这些个操作一遍都是自动化完成的,我们不希望手动更新!
阿里巴巴开发手册:所有的数据库表:gmt_creategmt_modified几乎所有的表都要配置上!而且需
要自动化!

方式一:数据库级别

数据库级别(但是在工作中不允许你修改数据库,不推荐这种!)

步骤一、在表中新增字段 create_time, update_time

步骤二、实体类同步,插入新的属性!

private Date createTime;
private Date updateTime;

步骤三、测试,更新查看结果即可

方式二:代码级别

代码级别,推荐使用!

步骤一:删除数据库的时间字段的默认值、更新操作!

步骤二:实体类时间字段属性上需要增加注解!

// 字段添加填充内容
@TableField(fill = FieldFill.INSERT)
private Date createTime;

@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;

步骤三:编写处理器来处理这个注解即可!

@Slf4j
@Component // 一定不要忘记把处理器加到IOC容器中!
public class MyMetaObjectHandler implements MetaObjectHandler {
    // 插入时的填充策略
    @Override
    public void insertFill(MetaObject metaObject) {
        log.info("start insert fill.....");
        // setFieldValByName(String fieldName, Object fieldVal, MetaObject
        metaObject
            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);
    }
}

步骤四:测试插入,测试更新、观察时间即可!

最后修改:2021 年 10 月 14 日 04 : 43 PM
如果觉得我的文章对你有用,请随意赞赏