mybatis-plus自动填充

1,给字段添加注解

@TableField(value = "create_time", fill = FieldFill.INSERT)

 

2,添加填充处理器,需要实现接口MetaObjectHandler

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        // 看实体类中是否有这个属性,有的话就执行。没有就不执行
        boolean hasSetter = metaObject.hasSetter("createTime");
        if (hasSetter) {
            setInsertFieldValByName("createTime", new Date(), metaObject);
        }
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        // 如果预先自己设置了值,则设置不使用MP的自动填充
        Object val = getFieldValByName("updateTime", metaObject);
        if (val == null) {
            setUpdateFieldValByName("updateTime", new Date(), metaObject);
        }
    }
}