MetaObjectHandler的作用

MetaObjectHandler的作用

MetaObjectHandler是mybatisPlus提供的一个属性的填充器。在mybatisPlus中我们一般像创建时间和修改时间等都会以注解的方式让其自动的更新我们的时间。例如:

@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;

@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;

mybatisPlus提供了以下几种属性配置
1.实体的公共字段使用@TableField注解

  • @TebleField(fill = FieldFill.INSERT):表示此字段只在插入/新增操作时更新数据
  • @TebleField(fill = FieldFill.INSERT_UPDATE):表示此字段在修改和新增操作时都更新数据;
  • @TebleField(fill = FieldFill.UPDATE):表示此字段只在修改操作时都更新数据;
    我们则可以自己定义填充的属性,就是实现MetaObjectHandler接口,实现其中的方法insertFill,updateFill方法,一个是在插入时候触发一个是修改时候触发的。
@Component
public class IMetaObjectHandler implements MetaObjectHandler {

	@Override
	public void insertFill(MetaObject metaObject) {
		log.info("start insert fill ....");
		this.setInsertFieldValByName("deleted", false, metaObject);
		this.setInsertFieldValByName("createTime", LocalDateTime.now(), metaObject);
		this.setInsertFieldValByName("updateTime", LocalDateTime.now(), metaObject);
	}

	@Override
	public void updateFill(MetaObject metaObject) {
		log.info("start update  fill ....");
		this.setUpdateFieldValByName("updateTime", LocalDateTime.now(), metaObject);

	}

}

这样我们就可以为某些需要获取默认值的字段进行赋值了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久★伴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值