mybatisPlus之自动填充工具MetaObjectHandler使用demo及注意点

介绍如何使用MetaObjectHandler自动填充公共字段,如创建人、更新时间等,并列出常见失效场景。

一. 使用场景

MetaObjectHandler是元对象字段填充控制器抽象类,实现公共字段自动写入。

比如通常,我们在建表时,会设置几个公共字段:创建人(creator)、更新人(uptater)、创建时间(create_time)、更新时间(update_time)。

每次将实体对象新增入库时,都要设置创建人和创建时间;每次更新实体对象时,都要设置更新人和更新时间;如果这是都放在业务代码中,很是繁琐,那么可不可以统一配置,自动帮我们添加这些属性呢?答案就是使用MetaObjectHandler。

二. 使用姿势

官方说明:https://mp.baomidou.com/guide/auto-fill-metainfo.html
注意:不同版本api略有不同,但是步骤是一样的,接口也是一样的,本文是3.1.0 。

步骤如下:

1.实现MetaObjectHandler接口

MetaObjectHandler接口有两个接口方法,需要我们自己去实现它:

  /**
     * 插入元对象字段填充(用于插入时对公共字段的填充)
     *
     * @param metaObject 元对象
     */
    void insertFill(MetaObject metaObject);

    /**
     * 更新元对象字段填充(用于更新时对公共字段的填充)
     *
     * @param metaObject 元对象
     */
    void updateFill(MetaObject metaObject);

自定义实现类MyMetaObjectHandler如下:

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
   
   

    @Override
    public void insertFill(MetaObject metaObject) {
   
   
        log.info("start insert fill ....");
          
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值