mybatis-plus MetaObjectHandler 新增/修改自动填充执行却不生效 (易错点)
·
实体类加注解
/**
* 创建者
*/
@TableField(value = "create_user", fill = FieldFill.INSERT)
private String createUser;
/**
* 更新者
*/
@TableField(value = "update_user", fill = FieldFill.UPDATE)
private String updateUser;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private LocalDate createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private LocalDate updateTime;
mybatis 配置
globalConfig: #全局配置
banner: false
metaObjectHandler: "xx.xx.config.MyMetaObjectHandler" # mybatisPlus之自动填充工具
MetaObjectHandler 实现类(正确的写法)
@Configuration
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createUser", "11", metaObject);
this.setFieldValByName("createTime", LocalDate.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateUser", "22", metaObject);
this.setFieldValByName("updateTime", LocalDate.now(), metaObject);
}
}
MetaObjectHandler 实现类(错误的写法)
@Configuration
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("create_user", "11", metaObject);
this.setFieldValByName("create_time", LocalDate.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("update_user", "22", metaObject);
this.setFieldValByName("update_time", LocalDate.now(), metaObject);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)