mybatisplus自动填充属性值

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

他有两个核心方法:

  • insertFill : 在执行插入操作时,,用于填充实体对象的默认值,,标记了@TableField(fill=FieldFill.INSERT) 的字段就会被填充
  • updateFill :在执行更新操作时调用,用于填充实体对象的默认值
java 复制代码
@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;
}
java 复制代码
@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("插入填充方法被调用");
        this.setFieldValByName("createBy","waterkid",metaObject);
        this.setFieldValByName("updateBy","cc",metaObject);
    }
}

测试:

java 复制代码
    @Test
    void contextLoads() {
   
        int hehe = userMapper.insert(User.builder().username("hehe").build());
    }
相关推荐
u0100559601 个月前
IPage类与Page类区别和作用讲解
mybatis·mybatisplus
大飞哥~BigFei1 个月前
mybatisPlus的@TableLogic逻辑删除注解导致联合索引失效的坑
mysql·mybatisplus
装不满的克莱因瓶1 个月前
你真的懂Mybatis分页原理吗?
java·开发语言·架构·mybatis·mybatisplus·mybatis-plus·分页
是梦终空2 个月前
JAVA毕业设计153—基于Java+Springboot+小程序的校园维修管理系统小程序(源代码+数据库)
java·spring boot·小程序·毕业设计·layui·mybatisplus·校园维修管理系统
是梦终空2 个月前
JAVA毕业设计152—基于Java+Springboot+vue+小程序的个人健康管理系统小程序(源代码+数据库+15000字论文)
java·spring boot·vue·毕业设计·论文·mybatisplus·个人健康管理小程序
小言不爱说2 个月前
后端实现图片上传本地,可采用url查看图片
java·数据库·mybatisplus
CSDN专家-赖老师(软件之家)2 个月前
房屋出租管理系统小程序需求分析及功能介绍
小程序·人脸识别·springboot·uniapp·需求分析·mybatisplus·地图定位
是梦终空2 个月前
JAVA毕业设计146—基于Java+Springboot+vue+uniapp的景区旅游购票小程序(源代码+数据库+9000字论文)
java·spring boot·小程序·毕业设计·课程设计·mybatisplus·景区旅游门票小程序系统
&梧桐树夏2 个月前
MybatisPlus 使用教程
mybatisplus
小沈同学呀3 个月前
【实战】EasyExcel实现百万级数据导入导出
java·大数据·spring·springboot·mybatisplus·easyexcel