首先需要创建一个类实现 MetaObjectHandler 接口,并重写其中的方法。 package com.zk.app.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.zk.app.utils.UserThreadLocalUtil; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; /*...
自定义实现类MyMetaObjectHandler如下: @Slf4j @Component public class MyMetaObjectHandler implements MetaObjectHandler { @OverridepublicvoidinsertFill(MetaObject metaObject) { log.info("start insert fill ...");this.setFieldValByName("creator", bucUserBo.getEmpId(), metaObject);this.setFieldValByName("...
void updateFill(MetaObject metaObject); 1. 2. 3. 4. 5. 6. 自定义实现类MyMetaObjectHandler如下: @Slf4j @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ..."); this.setFieldValByName(...
简介:Mybatis Plus公共字段自动填充(MyMetaObjectHandler) Mybatis Plus公共字段自动填充,也就是在插入或者更新的时候如果发现某些字段为空,则为其赋予指定的默认值。 【1】几个概念 ① FieldFill枚举类 public enum FieldFill {DEFAULT(0, "默认不处理"),INSERT(1, "插入填充字段"),UPDATE(2, "更新填充字段"...
MyBatis Plus 提供了自动填充(MetaObjectHandler)的功能,可以在插入和更新操作时自动填充指定的字段,例如创建时间、更新时间、创建人、更新人等。这样可以简化开发,减少重复的代码编写,提高开发效率。 在MyBatis Plus 中,要实现自动填充功能,通常需要创建一个实现了MetaObjectHandler接口的类,并在该类中重写相应的方法来...
1:编写MetaObjectHandler 实现类 2:实体类上边加上@TableField(fill = FieldFill.INSERT_UPDATE) 注意点 小节 代码链接 小咸鱼的技术窝 MetaObjectHandler介绍 MetaObjectHandler接口是mybatisPlus为我们提供的的一个扩展接口,我们可以利用这个接口在我们插入或者更新数据的时候,为一些字段指定默认值。实现这个需求的方法不...
1. 编写MetaObjectHandler 实现类 编写类实现MetaObjectHandler接口,重写里面的方法就是了。 /** * @author 张子行 * @class mybatisPlus属性自动填充,对应的实体类字段上需要加@TableField(fill = FieldFill.INSERT_UPDATE) */@Configuration@Slf4jpublicclassautoFillConfigimplementsMetaObjectHandler{@Overridepublicvoid...
在项目中,经常会有一些公共字段,例如createUser,createTime,isDeleted等,需要全局赋值,来看看在Springboot中怎么做吧。 使用 填充类型 publicenumFieldFill{DEFAULT,//默认INSERT,//插入时填充UPDATE,//更新时填充INSERT_UPDATE;//插入和更新时填充privateFieldFill(){}} ...
MyBatis-plus 自动填充MetaObjectHandler 背景 在项目中经常遇到一些数据需要自动填充,填充方法都是同一种规则,例如创建时间等。 1 自动填充方法配置 1.1 实体类添加注解 注解: #新增注解@TableField(fill = FieldFill.INSERT)#更新注解@TableField(fill = FieldFill.INSERT_UPDATE) ...