Skip to content

自动填充(Auto Fill)

MyBatis-Plus 支持通过 MetaObjectHandler 在插入或更新时自动填充字段,例如创建时间、更新时间、操作人等。

示例

java
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    @Override
    public void insertFill(MetaObject metaObject) {
        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
        this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
    }
}

注意事项

  • 字段上需使用 @TableField(fill = FieldFill.INSERT)@TableField(fill = FieldFill.INSERT_UPDATE) 标注。
  • 自动填充仅在使用了 MyBatis-Plus 的插入/更新方法时生效。