最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
在MyBatisPlus中使用@TableField完成字段自动填充操作代码
时间:2021-02-03 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下在MyBatisPlus中使用@TableField完成字段自动填充操作代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
官方文档:
字段注解 @TableField
com.baomidou.mybatisplus.annotations.TableField
字段填充策略 FieldFill
实现
实体类中有如下属性,通过上面的自动填充属性,我们可以实现
在进行插入操作时对
添加了注解@TableField(fill = FieldFill.INSERT)
的字段进行自动填充。
对添加了注解@TableField(fill = FieldFill.INSERT_UPDATE)的字段在进行插入和更新时进行自动填充。
/** * 创建人 */ @TableField(fill = FieldFill.INSERT) private Long creatorId; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private Date gmtCreat; /** * 修改人 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Long modifierId; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmtModified; /** * 是否可用 */ @TableField(fill = FieldFill.INSERT) private Boolean availableFlag;
这样我们在具体业务中对实体类进行赋值就可以不用对这些公共字段进行赋值,在执行插入或者更新时就能自动赋值并插入数据库。
那么要自动赋的值在哪里配置?
在项目的config包下新建自动填充处理类使其实现接口MetaObjectHandler
并重写其方法:
package com.ws.api.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; /** * 自动填充处理类 * @author badao * @version 1.0 * @see **/ @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("modifierId", new Long(111), metaObject); this.setFieldValByName("gmtModified", new Date(), metaObject); this.setFieldValByName("creatorId", new Long(111), metaObject); this.setFieldValByName("gmtCreat",new Date(), metaObject); this.setFieldValByName("availableFlag",true, metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("modifierId", new Long(111), metaObject); this.setFieldValByName("gmtModified", new Date(), metaObject); } }
其中方法参数中第一个是前面自动填充所对应的字段,第二个是要自动填充的值。
相关文章
- SpringBoot自定义bean绑定解析 10-24
- Javaweb工程运行报错HTTP Status 404解决教程 10-20
- JAVA获取jvm和操作系统相关信息方法 10-20
- BeanFactory和FactoryBean的区别讲解 10-20
- 微信小程序的宿主环境实现教程 10-10
- dispatchEvent解决重叠元素响应事件教程 10-10