mybatis-plus 自动填充字段

自动填充实体字段
本文介绍了一个自定义的MetaObjectHandler实现类FillMeta,用于在实体类的创建或更新操作中自动填充特定字段,如创建时间。通过使用@TableField注解指定字段填充策略,实现了在插入或更新时自动设置字段值的功能。

编写一个类实现MetaObjectHandler,加上@Component注解

@Component
public class FillMeta implements MetaObjectHandler {
    /**
     * 新增时自动填充
     * @param metaObject 实体类
     */
    @Override
    public void insertFill(MetaObject metaObject) {

        // 自动填入创建时间
        if (metaObject.hasGetter("timestamp")) {
           this.setFieldValByName("timestamp",new Date(),metaObject);
        }
    }

    /**
     * 更新时自动填充
     * @param metaObject 实体类
     */
    @Override
    public void updateFill(MetaObject metaObject) {

    }

在要填充的实体类中的字段上添加@TableField(fill = FieldFill.INSERT)注解

@TableField(fill = FieldFill.INSERT)
    private Date timestamp;
FieldFill.DEFAULT  默认不处理

FieldFill.INSERT  插入时填充字段

FieldFill.UPDATE   更新时填充字段

FieldFill.INSERT_UPDATE  插入和更新时填充字段