接口 MetaObjectHandler


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

    所有入参的 MetaObject 必定是 entity 或其子类的 MetaObject

    从以下版本开始:
    2016-08-28
    作者:
    hubin
    • 方法概要

      所有方法 实例方法 抽象方法 默认方法 
      修饰符和类型 方法 说明
      default MetaObjectHandler fillStrategy​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.lang.Object fieldVal)
      填充策略,默认有值不覆盖,如果提供的值为null也不填充
      default TableInfo findTableInfo​(org.apache.ibatis.reflection.MetaObject metaObject)
      find the tableInfo cache by metaObject
      default java.lang.Object getFieldValByName​(java.lang.String fieldName, org.apache.ibatis.reflection.MetaObject metaObject)
      get value from java bean by propertyName
      void insertFill​(org.apache.ibatis.reflection.MetaObject metaObject)
      插入元对象字段填充(用于插入时对公共字段的填充)
      default boolean openInsertFill()
      是否开启了插入填充
      default boolean openUpdateFill()
      是否开启了更新填充
      default MetaObjectHandler setFieldValByName​(java.lang.String fieldName, java.lang.Object fieldVal, org.apache.ibatis.reflection.MetaObject metaObject)
      通用填充
      default MetaObjectHandler strictFill​(boolean insertFill, TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, java.util.List<StrictFill<?,​?>> strictFills)
      严格填充,只针对非主键的字段,只有该表注解了fill 并且 字段名和字段属性 能匹配到才会进行填充(null 值不填充)
      default MetaObjectHandler strictFillStrategy​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.util.function.Supplier<?> fieldVal)
      严格模式填充策略,默认有值不覆盖,如果提供的值为null也不填充
      default MetaObjectHandler strictInsertFill​(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, java.util.List<StrictFill<?,​?>> strictFills)  
      default <T,​E extends T>
      MetaObjectHandler
      strictInsertFill​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.lang.Class<T> fieldType, E fieldVal)  
      default <T,​E extends T>
      MetaObjectHandler
      strictInsertFill​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.util.function.Supplier<E> fieldVal, java.lang.Class<T> fieldType)  
      default MetaObjectHandler strictUpdateFill​(TableInfo tableInfo, org.apache.ibatis.reflection.MetaObject metaObject, java.util.List<StrictFill<?,​?>> strictFills)  
      default <T,​E extends T>
      MetaObjectHandler
      strictUpdateFill​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.lang.Class<T> fieldType, E fieldVal)  
      default <T,​E extends T>
      MetaObjectHandler
      strictUpdateFill​(org.apache.ibatis.reflection.MetaObject metaObject, java.lang.String fieldName, java.util.function.Supplier<E> fieldVal, java.lang.Class<T> fieldType)  
      void updateFill​(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​(java.lang.String fieldName,
                                                    java.lang.Object fieldVal,
                                                    org.apache.ibatis.reflection.MetaObject metaObject)
        通用填充
        参数:
        fieldName - java bean property name
        fieldVal - java bean property value
        metaObject - meta object parameter
      • getFieldValByName

        default java.lang.Object getFieldValByName​(java.lang.String fieldName,
                                                   org.apache.ibatis.reflection.MetaObject metaObject)
        get value from java bean by propertyName
        参数:
        fieldName - java bean property name
        metaObject - parameter wrapper
        返回:
        字段值
      • findTableInfo

        default TableInfo findTableInfo​(org.apache.ibatis.reflection.MetaObject metaObject)
        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,
                                                                         java.lang.String fieldName,
                                                                         java.lang.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,
                                                                         java.lang.String fieldName,
                                                                         java.util.function.Supplier<E> fieldVal,
                                                                         java.lang.Class<T> fieldType)
        参数:
        metaObject - metaObject meta object parameter
        返回:
        this
        从以下版本开始:
        3.3.0
      • strictInsertFill

        default MetaObjectHandler strictInsertFill​(TableInfo tableInfo,
                                                   org.apache.ibatis.reflection.MetaObject metaObject,
                                                   java.util.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,
                                                                         java.lang.String fieldName,
                                                                         java.util.function.Supplier<E> fieldVal,
                                                                         java.lang.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,
                                                                         java.lang.String fieldName,
                                                                         java.lang.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,
                                                   java.util.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,
                                             java.util.List<StrictFill<?,​?>> strictFills)
        严格填充,只针对非主键的字段,只有该表注解了fill 并且 字段名和字段属性 能匹配到才会进行填充(null 值不填充)
        参数:
        insertFill - 是否验证在 insert 时填充
        tableInfo - cache 缓存
        metaObject - metaObject meta object parameter
        strictFills - 填充信息
        返回:
        this
        从以下版本开始:
        3.3.0
      • fillStrategy

        default MetaObjectHandler fillStrategy​(org.apache.ibatis.reflection.MetaObject metaObject,
                                               java.lang.String fieldName,
                                               java.lang.Object fieldVal)
        填充策略,默认有值不覆盖,如果提供的值为null也不填充
        参数:
        metaObject - metaObject meta object parameter
        fieldName - java bean property name
        fieldVal - java bean property value of Supplier
        返回:
        this
        从以下版本开始:
        3.3.0
      • strictFillStrategy

        default MetaObjectHandler strictFillStrategy​(org.apache.ibatis.reflection.MetaObject metaObject,
                                                     java.lang.String fieldName,
                                                     java.util.function.Supplier<?> fieldVal)
        严格模式填充策略,默认有值不覆盖,如果提供的值为null也不填充
        参数:
        metaObject - metaObject meta object parameter
        fieldName - java bean property name
        fieldVal - java bean property value of Supplier
        返回:
        this
        从以下版本开始:
        3.3.0