Interface Fn<T,​R>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  Fn.FnImpl<T,​R>
      带有指定类型的方法引用
      static class  Fn.FnName<T,​R>
      间接支持直接指定字段名或列名,避免只能通过方法引用使用
      static class  Fn.Fns<E>
      字段数组,用于获取字段对应的所有字段名和列名,当前对象相当于一个部分字段的虚拟表
    • Method Summary

      All Methods Static Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      static <T> Fn<T,​Object> column​(Class<T> entityClass, String column)
      通过字符串形式指定(表中的)列名
      static <T> Fn<T,​Object> field​(Class<T> entityClass, Fn<T,​Object> field)
      指定类中字段名
      static <T> Fn<T,​Object> field​(Class<T> entityClass, String field)
      通过字符串形式指定(类中)字段名
      default Fn<T,​R> in​(Class<?> entityClass)
      当前字段所属的实体类,当实体存在继承关系时 父类的方法引用无法获取字段所属的实体类,需要通过该方法指定
      static <E> Fn.Fns<E> of​(Fn<E,​Object>... fns)
      指定字段集合的虚拟表
      static <E> Fn.Fns<E> of​(Class<E> entityClass, Fn<E,​Object>... fns)
      指定字段集合的虚拟表,当通过基类或者泛型基类获取字段时,需要设置字段所属的实体类
      static <E> Fn.Fns<E> of​(Class<E> entityClass, String... columnNames)
      包含部分字段的虚拟表
      default Reflections.ClassField toClassField()
      获取字段信息
      default String toColumn()
      转换为字段对应的列信息:获取方法引用对应的列信息
      default io.mybatis.provider.EntityColumn toEntityColumn()
      转换为字段对应的列信息:获取方法引用对应的列信息
      default String toField()
      转换为字段:获取方法引用对应的字段信息
    • Field Detail

      • FN_COLUMN_MAP

        static final Map<Fn<?,​?>,​io.mybatis.provider.EntityColumn> FN_COLUMN_MAP
        缓存方法引用和对应的列信息
      • FN_CLASS_FIELD_MAP

        static final Map<Fn<?,​?>,​Reflections.ClassField> FN_CLASS_FIELD_MAP
        缓存方法引用和对应的字段信息
    • Method Detail

      • of

        @SafeVarargs
        static <E> Fn.Fns<E> of​(Class<E> entityClass,
                                Fn<E,​Object>... fns)
        指定字段集合的虚拟表,当通过基类或者泛型基类获取字段时,需要设置字段所属的实体类
        Parameters:
        entityClass - 当使用基类获取泛型时,需要指定实体类类型
        fns - 指定字段
        Returns:
        虚拟表
      • of

        @SafeVarargs
        static <E> Fn.Fns<E> of​(Fn<E,​Object>... fns)
        指定字段集合的虚拟表
        Parameters:
        fns - 指定字段
        Returns:
        虚拟表
      • of

        static <E> Fn.Fns<E> of​(Class<E> entityClass,
                                String... columnNames)
        包含部分字段的虚拟表
        Parameters:
        entityClass - 实体类类型
        columnNames - 列名信息
        Returns:
        虚拟表
      • field

        static <T> Fn<T,​Object> field​(Class<T> entityClass,
                                            Fn<T,​Object> field)
        指定类中字段名
        Parameters:
        entityClass - 字段所属实体类
        field - 实体类中的字段名
      • field

        static <T> Fn<T,​Object> field​(Class<T> entityClass,
                                            String field)
        通过字符串形式指定(类中)字段名
        Parameters:
        entityClass - 字段所属实体类
        field - 实体类中的字段名
      • column

        static <T> Fn<T,​Object> column​(Class<T> entityClass,
                                             String column)
        通过字符串形式指定(表中的)列名
        Parameters:
        entityClass - 字段所属实体类
        column - 实体类对应表中的列名
      • in

        default Fn<T,​R> in​(Class<?> entityClass)
        当前字段所属的实体类,当实体存在继承关系时 父类的方法引用无法获取字段所属的实体类,需要通过该方法指定
        Parameters:
        entityClass - 指定实体类
        Returns:
        带有指定实体类的 Fn
      • toField

        default String toField()
        转换为字段:获取方法引用对应的字段信息
        Returns:
        方法引用对应的字段信息
      • toColumn

        default String toColumn()
        转换为字段对应的列信息:获取方法引用对应的列信息
        Returns:
        方法引用对应的列信息
      • toClassField

        default Reflections.ClassField toClassField()
        获取字段信息
        Returns:
        字段名和所在类信息
      • toEntityColumn

        default io.mybatis.provider.EntityColumn toEntityColumn()
        转换为字段对应的列信息:获取方法引用对应的列信息
        Returns:
        方法引用对应的列信息