自动填充(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 的插入/更新方法时生效。