开发者

mybatisplus自动填充属性值的实现步骤

MetaObjectHandler: 是myBATisplus提供的一个接口,这个接口定义了在执行插入和更新操作的时候的回调方法,允许你自定义实体对象的一些属性值,比如: createThttp://www.devze.comime,createBy,updateTime,updateBy 等

他有两个核心方法:

  • insertFill : 在执行插入操作时,,用于填充实体对象的默认值,,标记了@TableField(fill=FieldFill.INSERT) 的字段就会被填充
  • updateFill :在执行更新操作时调用,用于填充实体对象的默认值
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "cc_user")
public class User {

    private Integer id;
    private String username;
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    private String updateBy;
    private Date createTime;
    private Date updateTime;
}
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        System.out.println("插入填充方法被调用");
        this.setFieldValByName("createBy","waterkid",metaObject);
        this.setFieldValByName("updateBy","cc",metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        System.out.println("插入填充方法被调用");
   python     this.setFieldValByName("createBy","waterkid",metaObject);
        this.setFieldValByName("updateBy","cc",metaObjeZrQAhNkct);
    }
}

测试:

    @Test
    void contextLoads() {
   
        int hehe = userMapper.insert(Usephpr.builder().username("hehe").build());
    }

到此这篇关于mybatisplus自动填充属性值的实现步骤的文章javascript就介绍到这了,更多相关mybatisplus自动填充属性值内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)! 

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜