Mybatis-Plus 自动填充-时间

创建时间、修改时间这些个操作都是自动化完成的,我们不希望手动更新!

根据阿里巴巴开发手册,有这么一句话:所有的数据库表当中必须有gmt_create、gmt_modified,几乎所有的表都要配置上!而且需要自动化!!!

方式一:数据库方式:(这个方法是mysql版本在5之上,否则会报错)

1、在数据库表中新增create_time、update_time字段

在这里插入图片描述

CURRENT_TIMESTAM

2、在实体类中同步对应属性

 private Date createTime;
 private Date updateTime;

3、查看测试结果

在这里插入图片描述

方式二、代码实现

1、删除数据表中的默认值,更新操作。
在这里插入图片描述
2、在实体类属性中添加所需的注解

	@TableField(fill = FieldFill.INSERT)
    private Date createTime;

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

3、编写处理器处理这些个注解即可

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    
    
    @Override
    public void insertFill(MetaObject metaObject) {
    
    
        log.info("start insert ...");
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
    
    
        log.info("start update ...");
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
}

4、测试效果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CSDN_java1005/article/details/115303638