- Direct Known Subclasses:
Fn.FnArray
实体表接口,记录实体和表的关系
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean自动根据字段生成 resultMapprotected Stringcatalog 名称,配置后会在表名前面加上 catalogprotected List<ColumnMeta> 字段信息protected Class<?> 实体类protected String[]排除指定字段名的字段protected Class<?>[]排除指定类型的字段protected Class<?>[]排除指定父类的所有字段protected Set<org.apache.ibatis.session.Configuration> 已经初始化的配置protected boolean初始化完成,可以使用protected String使用指定的 resultMapprotected List<org.apache.ibatis.mapping.ResultMap> 已初始化自动 ResultMapprotected Stringschema 名称,配置后会在表名前面加上 schemaprotected String实体类和字段转表名和字段名方式protected String原始表名,在拼 SQL 中,使用 tableName() 方法,可能返回代理方法加工后的值Fields inherited from class org.miaixz.bus.mapper.parsing.PropertyMeta
props -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddColumn(ColumnMeta column) 添加列获取所有查询列,格式为 column1 AS property1, column2 AS property2, ...获取所有查询列,格式为 column1, column2, ...protected booleancanUseResultMaps(org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 判断是否可以使用 resultMaps获取所有列名columns()获取所有列boolean判断两个 MapperTable 对象是否相等获取所有字段获取所有属性名protected StringgenerateResultMapId(org.apache.ibatis.builder.annotation.ProviderContext providerContext, String resultMapId) 生成 ResultMap IDprotected org.apache.ibatis.mapping.ResultMapgenResultMap(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 生成 ResultMaporg.apache.ibatis.type.TypeHandlergetTypeHandlerInstance(Class<?> javaTypeClass, Class<?> typeHandlerClass) 实例化 TypeHandler获取带 GROUP BY 前缀的列字符串获取 GROUP BY 列列表,格式为 column1, column2, ...获取 GROUP BY 列,默认空protected booleanhasBeenReplaced(org.apache.ibatis.session.Configuration configuration, String cacheKey) 判断是否已替换 resultMapinthashCode()计算对象的哈希值获取带 HAVING 前缀的列字符串获取 HAVING 列列表,格式为 column1, column2, ...获取 HAVING 列,默认空获取主键列,若无主键则返回所有列protected voidinitResultMap(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 初始化 ResultMapvoidinitRuntimeContext(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 设置运行时信息,不同方法分别执行一次,需保证幂等获取所有插入列,格式为 column1, column2, ...获取插入列booleanisExcludeField(FieldMeta field) 判断是否需要排除指定字段booleanisExcludeSuperClass(Class<?> superClass) 判断是否需要排除父类获取普通列,排除主键字段static TableMeta创建 MapperTable 实例获取带 ORDER BY 前缀的列字符串获取 ORDER BY 列列表,格式为 column1 ASC, column2 DESC, ...获取排序列获取查询列获取 SQL 语句中使用的表名toString()返回字符串表示形式获取更新列boolean判断当前实体类是否使用 resultMap获取查询条件列,默认所有列Methods inherited from class org.miaixz.bus.mapper.parsing.PropertyMeta
getBoolean, getBoolean, getInt, getInt, getProp, getProp, put, put, remove
-
Field Details
-
table
原始表名,在拼 SQL 中,使用 tableName() 方法,可能返回代理方法加工后的值 -
catalog
catalog 名称,配置后会在表名前面加上 catalog -
schema
schema 名称,配置后会在表名前面加上 schema -
style
实体类和字段转表名和字段名方式 -
entityClass
实体类 -
columns
字段信息 -
ready
protected boolean ready初始化完成,可以使用 -
resultMap
使用指定的 resultMap -
autoResultMap
protected boolean autoResultMap自动根据字段生成 resultMap -
resultMaps
已初始化自动 ResultMap -
excludeSuperClasses
排除指定父类的所有字段 -
excludeFieldTypes
排除指定类型的字段 -
excludeFields
排除指定字段名的字段 -
initConfiguration
已经初始化的配置
-
-
Constructor Details
-
TableMeta
构造函数,初始化实体表- Parameters:
entityClass- 实体类
-
-
Method Details
-
of
创建 MapperTable 实例- Parameters:
entityClass- 实体类- Returns:
- MapperTable 实例
-
tableName
获取 SQL 语句中使用的表名- Returns:
- 表名,格式为 catalog.schema.tableName
-
columns
获取所有列- Returns:
- 所有列信息
-
fieldMetas
获取所有字段- Returns:
- 所有字段
-
columnNames
获取所有列名- Returns:
- 所有列名
-
fieldNames
获取所有属性名- Returns:
- 所有属性名
-
addColumn
添加列- Parameters:
column- 列信息
-
canUseResultMaps
protected boolean canUseResultMaps(org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 判断是否可以使用 resultMaps- Parameters:
providerContext- 当前方法信息cacheKey- 缓存 key,每个方法唯一,默认与 msId 相同- Returns:
- true 表示可以使用,false 表示不可用
-
useResultMaps
public boolean useResultMaps()判断当前实体类是否使用 resultMap- Returns:
- true 表示使用,false 表示不使用
-
hasBeenReplaced
protected boolean hasBeenReplaced(org.apache.ibatis.session.Configuration configuration, String cacheKey) 判断是否已替换 resultMap- Parameters:
configuration- MyBatis 配置类cacheKey- 缓存 key,每个方法唯一- Returns:
- true 表示已替换,false 表示未替换
-
initRuntimeContext
public void initRuntimeContext(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 设置运行时信息,不同方法分别执行一次,需保证幂等- Parameters:
configuration- MyBatis 配置类providerContext- 当前方法信息cacheKey- 缓存 key,每个方法唯一
-
initResultMap
protected void initResultMap(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 初始化 ResultMap- Parameters:
configuration- MyBatis 配置类providerContext- 当前方法信息cacheKey- 缓存 key
-
generateResultMapId
protected String generateResultMapId(org.apache.ibatis.builder.annotation.ProviderContext providerContext, String resultMapId) 生成 ResultMap ID- Parameters:
providerContext- 提供者上下文resultMapId- ResultMap ID- Returns:
- 完整的 ResultMap ID
-
genResultMap
protected org.apache.ibatis.mapping.ResultMap genResultMap(org.apache.ibatis.session.Configuration configuration, org.apache.ibatis.builder.annotation.ProviderContext providerContext, String cacheKey) 生成 ResultMap- Parameters:
configuration- MyBatis 配置类providerContext- 提供者上下文cacheKey- 缓存 key- Returns:
- ResultMap 实例
-
getTypeHandlerInstance
public org.apache.ibatis.type.TypeHandler getTypeHandlerInstance(Class<?> javaTypeClass, Class<?> typeHandlerClass) 实例化 TypeHandler- Parameters:
javaTypeClass- Java 类型typeHandlerClass- TypeHandler 类型- Returns:
- TypeHandler 实例
-
idColumns
获取主键列,若无主键则返回所有列- Returns:
- 主键列列表
-
normalColumns
获取普通列,排除主键字段- Returns:
- 普通列列表
-
selectColumns
获取查询列- Returns:
- 可查询列列表
-
whereColumns
获取查询条件列,默认所有列- Returns:
- 查询条件列列表
-
insertColumns
获取插入列- Returns:
- 可插入列列表
-
updateColumns
获取更新列- Returns:
- 可更新列列表
-
groupByColumns
获取 GROUP BY 列,默认空- Returns:
- GROUP BY 列的 Optional 包装对象
-
havingColumns
获取 HAVING 列,默认空- Returns:
- HAVING 列的 Optional 包装对象
-
orderByColumns
获取排序列- Returns:
- 排序列的 Optional 包装对象
-
baseColumnList
获取所有查询列,格式为 column1, column2, ...- Returns:
- 查询列字符串
-
baseColumnAsPropertyList
获取所有查询列,格式为 column1 AS property1, column2 AS property2, ...- Returns:
- 查询列带别名字符串
-
insertColumnList
获取所有插入列,格式为 column1, column2, ...- Returns:
- 插入列字符串
-
groupByColumnList
获取 GROUP BY 列列表,格式为 column1, column2, ...- Returns:
- GROUP BY 列的 Optional 包装对象
-
groupByColumn
获取带 GROUP BY 前缀的列字符串- Returns:
- 带 GROUP BY 前缀的列字符串的 Optional 包装对象
-
havingColumnList
获取 HAVING 列列表,格式为 column1, column2, ...- Returns:
- HAVING 列的 Optional 包装对象
-
havingColumn
获取带 HAVING 前缀的列字符串- Returns:
- 带 HAVING 前缀的列字符串的 Optional 包装对象
-
orderByColumnList
获取 ORDER BY 列列表,格式为 column1 ASC, column2 DESC, ...- Returns:
- ORDER BY 列的 Optional 包装对象
-
orderByColumn
获取带 ORDER BY 前缀的列字符串- Returns:
- 带 ORDER BY 前缀的列字符串的 Optional 包装对象
-
isExcludeSuperClass
判断是否需要排除父类- Parameters:
superClass- 父类- Returns:
- true 表示需要排除,false 表示不需要
-
isExcludeField
判断是否需要排除指定字段- Parameters:
field- 字段- Returns:
- true 表示需要排除,false 表示不需要
-
equals
判断两个 MapperTable 对象是否相等 -
hashCode
public int hashCode()计算对象的哈希值 -
toString
返回字符串表示形式
-