mybatisplus自动填充属性值的实现步骤
更新时间:2023年12月06日 11:54:05 作者:waterkid0
MyBatis-Plus提供自动填充的功能,帮助自定设置这些字段的值,提升开发效率,本文就来介绍一下如何使用,感兴趣的可以了解一下
MetaObjectHandler
: 是mybatisplus提供的一个接口,这个接口定义了在执行插入和更新操作的时候的回调方法,允许你自定义实体对象的一些属性值,比如: createTime,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("插入填充方法被调用"); this.setFieldValByName("createBy","waterkid",metaObject); this.setFieldValByName("updateBy","cc",metaObject); } }
测试:
@Test void contextLoads() { int hehe = userMapper.insert(User.builder().username("hehe").build()); }
到此这篇关于mybatisplus自动填充属性值的实现步骤的文章就介绍到这了,更多相关mybatisplus自动填充属性值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java Long类型转为String类型的两种方式及区别说明
这篇文章主要介绍了java Long类型转为String类型的两种方式及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09spring中WebClient如何设置连接超时时间以及读取超时时间
这篇文章主要给大家介绍了关于spring中WebClient如何设置连接超时时间以及读取超时时间的相关资料,WebClient是Spring框架5.0引入的基于响应式编程模型的HTTP客户端,它提供一种简便的方式来处理HTTP请求和响应,需要的朋友可以参考下2024-08-08
最新评论