我是靠谱客的博主 鲤鱼烤鸡,这篇文章主要介绍MyBatis-Plus实体类字段自动填充,现在分享给大家,希望可以做个参考。

在一个项目中,会包含许多数据表,可能是五张数据表,也可能十几张或者更多。然而在这些数据表中可能会包含一些公共的字段属性,如果每创建一个实体类都要将编写一次代码,很明显会很耗时耗力,MyBatis-Plus支持自定义处理器的形式实现保存更新的自动填充 ,为我们节省了很大的时间。

公共实体类:

创建一个BasePojo类,存放各个实体类的公共字段。添加注解@TableFiled

复制代码
1
2
3
4
5
6
7
8
@Data public abstract class BasePojo implements Serializable{ @TableFiled(fill=FiledFill.INSERT) private Date created; //数据库执行INSERT操作时为该字段赋值 @TableFiled(fill=FieldFill.INSERT_UPDATED) private Date update; //数据库执行INSERT或UPDATE操作时为该字段赋值 }

自动填充功能实现类:

创建MyMetaObjectHandler类,实现MetaObjectHandler接口中的insertFill(插入操作)和updateFill(修改操作)方法

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class MyMetaObjectHandler implements MetaObjectHandler { /** * 插入操作,自动填充 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { Object created = getFileByName("created", metaObject); if(Objects.isNull(created)){ setFiledValByName("created", new Date(), metaObject); } Object updated = getFiledByName("updated",metaObject); if(Objects.isNull(updated)){ setFiledValByName("updated", new Date(), metaObject); } } /** * 修改操作,自动填充 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { setFiledValByName("updated", new Date(), metaObject); } }

这样,如果其他数据表中包含了“created”和“updated”字段,实体类直接继承BasePojo类即可,代码执行数据表的INSERT和UPDATE时就可以自动填充这些字段,不用我们再new Date()对象了!!!

 

最后

以上就是鲤鱼烤鸡最近收集整理的关于MyBatis-Plus实体类字段自动填充的全部内容,更多相关MyBatis-Plus实体类字段自动填充内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(93)

评论列表共有 0 条评论

立即
投稿
返回
顶部