Mybatis-Plus实现公共字段填充

  • Post author:
  • Post category:其他


1.在实体类的属性上加上@TableField注解,指定自动填充的策略

插入时填充字段

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

插入和更新时填充字段

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

2.按照框架要求编写元数据对象处理器,在此类中统一为公共字段赋值,此类需要实现MetaObjectHandler接口

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        metaObject.setValue("createTime", LocalDateTime.now());
        metaObject.setValue("updateTime",LocalDateTime.now());

        metaObject.setValue("createUser",BaseContext.getCurrentId());
        metaObject.setValue("updateUser",BaseContext.getCurrentId());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        metaObject.setValue("updateTime",LocalDateTime.now());
        metaObject.setValue("updateUser",BaseContext.getCurrentId());
    }
}



版权声明:本文为ruoxiuqaq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。