Package io.mybatis.mapper.fn
Interface Fn<T,R>
-
- All Superinterfaces:
Function<T,R>,Serializable
public interface Fn<T,R> extends Function<T,R>, Serializable
参考通用 Mapper weekend 实现,用于获取方法引用对应的字段信息- Author:
- Frank, liuzh
-
-
Field Summary
Fields Modifier and Type Field Description static Map<Fn<?,?>,Reflections.ClassField>FN_CLASS_FIELD_MAP缓存方法引用和对应的字段信息static Map<Fn<?,?>,io.mybatis.provider.EntityColumn>FN_COLUMN_MAP缓存方法引用和对应的列信息
-
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.ClassFieldtoClassField()获取字段信息default StringtoColumn()转换为字段对应的列信息:获取方法引用对应的列信息default io.mybatis.provider.EntityColumntoEntityColumn()转换为字段对应的列信息:获取方法引用对应的列信息default StringtoField()转换为字段:获取方法引用对应的字段信息
-
-
-
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:
- 方法引用对应的列信息
-
-