接口 MetaObjectHandler
public interface MetaObjectHandler
元对象字段填充控制器抽象类,实现公共字段自动写入
所有入参的 MetaObject 必定是 entity 或其子类的 MetaObject
- 从以下版本开始:
- 2016-08-28
- 作者:
- hubin
-
方法概要
修饰符和类型 方法 说明 default MetaObjectHandlerfillStrategy(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Object fieldVal)填充策略,默认有值不覆盖,如果提供的值为null也不填充default TableInfofindTableInfo(org.apache.ibatis.reflection.MetaObject metaObject)find the tableInfo cache by metaObjectdefault ObjectgetFieldValByName(String fieldName, org.apache.ibatis.reflection.MetaObject metaObject)get value from java bean by propertyNamevoidinsertFill(org.apache.ibatis.reflection.MetaObject metaObject)插入元对象字段填充(用于插入时对公共字段的填充)default booleanisFill(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject, com.baomidou.mybatisplus.annotation.FieldFill fieldFill)已过时。3.3.0default booleanopenInsertFill()是否开启了插入填充default booleanopenUpdateFill()是否开启了更新填充default MetaObjectHandlersetFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)通用填充default MetaObjectHandlersetFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject, com.baomidou.mybatisplus.annotation.FieldFill fieldFill)default MetaObjectHandlersetInsertFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)default MetaObjectHandlersetUpdateFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)default MetaObjectHandlerstrictFill(boolean insertFill, TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)严格填充,只针对非主键的字段,只有该表注解了fill 并且 字段名和字段属性 能匹配到才会进行填充(null 值不填充)default MetaObjectHandlerstrictFillStrategy(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<?> fieldVal)严格模式填充策略,默认有值不覆盖,如果提供的值为null也不填充default MetaObjectHandlerstrictInsertFill(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)default <T, E extends T>
MetaObjectHandlerstrictInsertFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Class<T> fieldType, E fieldVal)default <T, E extends T>
MetaObjectHandlerstrictInsertFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<E> fieldVal, Class<T> fieldType)default MetaObjectHandlerstrictUpdateFill(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)default <T, E extends T>
MetaObjectHandlerstrictUpdateFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Class<T> fieldType, E fieldVal)default <T, E extends T>
MetaObjectHandlerstrictUpdateFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<E> fieldVal, Class<T> fieldType)voidupdateFill(org.apache.ibatis.reflection.MetaObject metaObject)更新元对象字段填充(用于更新时对公共字段的填充)
-
方法详细资料
-
openInsertFill
default boolean openInsertFill()是否开启了插入填充 -
openUpdateFill
default boolean openUpdateFill()是否开启了更新填充 -
insertFill
void insertFill(org.apache.ibatis.reflection.MetaObject metaObject)插入元对象字段填充(用于插入时对公共字段的填充)- 参数:
metaObject- 元对象
-
updateFill
void updateFill(org.apache.ibatis.reflection.MetaObject metaObject)更新元对象字段填充(用于更新时对公共字段的填充)- 参数:
metaObject- 元对象
-
setFieldValByName
default MetaObjectHandler setFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)通用填充- 参数:
fieldName- java bean property namefieldVal- java bean property valuemetaObject- meta object parameter
-
getFieldValByName
default Object getFieldValByName(String fieldName, org.apache.ibatis.reflection.MetaObject metaObject)get value from java bean by propertyName- 参数:
fieldName- java bean property namemetaObject- parameter wrapper- 返回:
- 字段值
-
setInsertFieldValByName
@Deprecated default MetaObjectHandler setInsertFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)已过时。insert 时填充,只会填充 fill 被标识为 INSERT 与 INSERT_UPDATE 的字段- 参数:
fieldName- java bean property namefieldVal- java bean property valuemetaObject- meta object parameter- 从以下版本开始:
- 3.0.7
-
setUpdateFieldValByName
@Deprecated default MetaObjectHandler setUpdateFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)已过时。update 时填充,只会填充 fill 被标识为 UPDATE 与 INSERT_UPDATE 的字段- 参数:
fieldName- java bean property namefieldVal- java bean property valuemetaObject- meta object parameter- 从以下版本开始:
- 3.0.7
-
setFieldValByName
@Deprecated default MetaObjectHandler setFieldValByName(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject, com.baomidou.mybatisplus.annotation.FieldFill fieldFill)已过时。Common method to set value for java bean.- 参数:
fieldName- java bean property namefieldVal- java bean property valuemetaObject- meta object parameterfieldFill- 填充策略枚举- 从以下版本开始:
- 3.0.7
-
isFill
@Deprecated default boolean isFill(String fieldName, Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject, com.baomidou.mybatisplus.annotation.FieldFill fieldFill)已过时。3.3.0填充判断- 如果是主键,不填充
- 根据字段名找不到字段,不填充
- 字段类型与填充值类型不匹配,不填充
- 字段类型需在TableField注解里配置fill: @TableField(value="test_type", fill = FieldFill.INSERT), 没有配置或者不匹配时不填充
v_3.1.0以后的版本(不包括3.1.0),子类的值也可以自动填充,Timestamp的值也可以填入到java.util.Date类型里面- 参数:
fieldName- java bean property namefieldVal- java bean property valuemetaObject- meta object parameterfieldFill- 填充策略枚举- 返回:
- 是否进行填充
- 从以下版本开始:
- 3.0.7
-
findTableInfo
find the tableInfo cache by metaObject 获取 TableInfo 缓存- 参数:
metaObject- meta object parameter- 返回:
- TableInfo
- 从以下版本开始:
- 3.3.0
-
strictInsertFill
default <T, E extends T> MetaObjectHandler strictInsertFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Class<T> fieldType, E fieldVal)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictInsertFill
default <T, E extends T> MetaObjectHandler strictInsertFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<E> fieldVal, Class<T> fieldType)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictInsertFill
default MetaObjectHandler strictInsertFill(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictUpdateFill
default <T, E extends T> MetaObjectHandler strictUpdateFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<E> fieldVal, Class<T> fieldType)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictUpdateFill
default <T, E extends T> MetaObjectHandler strictUpdateFill(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Class<T> fieldType, E fieldVal)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictUpdateFill
default MetaObjectHandler strictUpdateFill(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)- 参数:
metaObject- metaObject meta object parameter- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictFill
default MetaObjectHandler strictFill(boolean insertFill, TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, List<StrictFill<?,?>> strictFills)严格填充,只针对非主键的字段,只有该表注解了fill 并且 字段名和字段属性 能匹配到才会进行填充(null 值不填充)- 参数:
insertFill- 是否验证在 insert 时填充tableInfo- cache 缓存metaObject- metaObject meta object parameterstrictFills- 填充信息- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
fillStrategy
default MetaObjectHandler fillStrategy(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Object fieldVal)填充策略,默认有值不覆盖,如果提供的值为null也不填充- 参数:
metaObject- metaObject meta object parameterfieldName- java bean property namefieldVal- java bean property value of Supplier- 返回:
- this
- 从以下版本开始:
- 3.3.0
-
strictFillStrategy
default MetaObjectHandler strictFillStrategy(org.apache.ibatis.reflection.MetaObject metaObject, String fieldName, Supplier<?> fieldVal)严格模式填充策略,默认有值不覆盖,如果提供的值为null也不填充- 参数:
metaObject- metaObject meta object parameterfieldName- java bean property namefieldVal- java bean property value of Supplier- 返回:
- this
- 从以下版本开始:
- 3.3.0
-