根据官网文档https://baomidou.com/guide/auto-fill-metainfo.html 我这边没测试成功,我用了这样的方式
@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill ....");
this.setFieldValByName("cjsj",new Date(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("gxsj",new Date(),metaObject);
}
}
这样写是没问题的。
本以为这样写就行了,但是需要在实体类上手动显示加上注解:
@ApiModelProperty(value = "创建时间")
@TableField(value = "CJSJ",fill = FieldFill.INSERT)
private Date cjsj;
这就无语了,这样搞,,就会出现一个问题啊,,如果别人重新生成这个实体,忘记加这个注解了,怎么搞?
解决方案有多种,我一开始计划想写个父类不就行了吗,生成模板时指定父类,,这样应该也可以,,我没测试;
我在想开源应该给扩展了吧,,我找找,我跟踪源码,没发现有这个东西的扩展,建议后期支持扩展;ok,那就重写类也行,我没走这个路,我走的是直接修改模板;
这个模板拿出来,改下即可,,不用重写他们的类就可以了;
在这里加一下就可以了
在上面导入下包
import com.baomidou.mybatisplus.annotation.*;
这样就ok了