接口 EntityAdapter

所有已知实现类:
DefaultEntityAdapter

public interface EntityAdapter
  • 方法详细资料

    • sort

      static void sort(List<? extends EntityAdapter> interceptors)
    • order

      default int order()
    • type

      default Class type()
      针对哪些类有效
      返回:
    • types

      default List<Class> types()
      针对多个类有效
      返回:
      list
    • table

      default Table table(Class clazz)
      获取指定类关联的表名
      参数:
      clazz - 类
      返回:
      String
    • columns

      default LinkedHashMap<String,Column> columns(Class clazz)
      获取指定类的列名s
      参数:
      clazz - 类
      返回:
      List
    • columns

      default LinkedHashMap<String,Column> columns(Class clazz, EntityAdapter.MODE mode)
      获取指定类的列名s
      参数:
      clazz - 类
      mode - insert环境 update环境 ddl环境
      返回:
      List
    • column

      default Column column(Class clazz, Field field, String... annotations)
      获取指定类.属性关联的列名
      参数:
      clazz - 类
      field - 属性
      annotations - 根据指定的注解, 以第一个成功取值的注解为准
      不指定则按默认规则 column.name, column.value, TableField.name, TableField.value, tableId.name, tableId.value, Id.name, Id.value
      返回:
      String
    • field

      default Field field(Class clazz, Column column)
      根据类与列名 获取相关的属性
      参数:
      clazz - 类
      column - 列名
      返回:
      Field
    • field

      default Field field(Class clazz, String column)
      列存放易燃属性
      参数:
      clazz - 类
      column - 列名
      返回:
      属性
    • fields

      default void fields(Class clazz)
    • primaryKey

      default Column primaryKey(Class clazz)
      检测主键(是主键名不是值)
      从primaryKeys中取一个
      参数:
      clazz - 类
      返回:
      Column
    • generator

      default PrimaryGenerator generator(String table, Field field)
    • generator

      default PrimaryGenerator generator(Class clazz, Field field)
    • generator

      default void generator(Class clazz)
      解析主键生成器(包含当前表及属性关联表)
      参数:
      clazz - clazz
    • primaryKeys

      default LinkedHashMap<String,Column> primaryKeys(Class clazz)
      检测主键(是主键名不是值)
      根据注解检测主键名s(注解名不区分大小写, 支持模糊匹配如Table*)
      先根据配置文件中的ENTITY_PRIMARY_KEY_ANNOTATION, 如果出现多种主键标识方式可以逗号分隔以先取到的为准
      如果没有检测到再检测注解中带tableId或Id的属性名
      如果没有检测到按默认主键DataRow.DEFAULT_PRIMARY_KEY
      参数:
      clazz - 类
      返回:
      List
    • primaryValue

      default Map<String,Object> primaryValue(Object obj)
      主键值
      参数:
      obj - obj
      返回:
      String
    • createPrimaryValue

      default boolean createPrimaryValue(Object obj, List<String> inserts)
      生成主键值
      参数:
      obj - entity或DataRow
      inserts - 需要插入的列, 注意成功创建主键后需要把主键key添加到inserts中
      返回:
      boolean 是否成功
    • createPrimaryValue

      default boolean createPrimaryValue(Object obj, LinkedHashMap<String,Column> inserts)
    • primaryValues

      default Map<String,Object> primaryValues(Object obj)
      主键值
      参数:
      obj - obj
      返回:
      Map
    • entity

      default <T> T entity(Class<T> clazz, Map<String,Object> map, Map columns)
      DataRow转换成entity时调用 如果有实现则不再执行 DataRow.entity
      如果不实现当前可以返回null, 将继续执行默认处理方式
      类型参数:
      T - T
      参数:
      clazz - 类
      map - map
      返回:
      T
    • entity

      default <T> T entity(T entity, Class<T> clazz, Map<String,Object> map, Map metadatas)
      DataRow转换成entity时调用 如果有实现则不再执行 DataRow.entity无效输入:'<'
      如果不实现当前可以返回null, 将继续执行默认处理方式
      类型参数:
      T - T
      参数:
      entity - 在此基础上执行, 如果不提供则新创建
      clazz - 类
      map - map
      metadatas - 列属性
      返回:
      T
    • row

      default DataRow row(Object obj, String... keys)
      entity转换成DataRow时调用 如果有实现则不再执行DataRow.parse 如果不实现当前可以返回null, 将继续执行默认处理方式
      参数:
      obj - obj
      keys - keys
      返回:
      DataRow
    • row

      default DataRow row(DataRow row, Object obj, String... keys)
      entity转换成DataRow时调用 如果有实现则不再执行DataRow.parse 如果不实现当前可以返回null, 将继续执行默认处理方式 注意实现时不要调用 DataRow.public static DataRow parse(DataRow row, Object obj, String... keys) 形成无限递归
      参数:
      row - 在此基础上执行, 如果不提供则新创建
      obj - obj
      keys - keys
      返回:
      DataRow
    • column2param

      default List<String> column2param(List<String> metadatas)
      列名转换成http参数时调用 如果不实现当前可以返回null, 将继续执行默认处理方式
      参数:
      metadatas - metadata
      返回:
      List
    • column2param

      default String column2param(String metadata)
    • getPrimaryValue

      static Object getPrimaryValue(Object obj)
    • setPrimaryValue

      static void setPrimaryValue(Object obj, Object value)