实体中字段和列的对应关系接口,记录字段上提供的列信息
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String主键策略2,优先级2:取主键的 SQL,当前SQL只能在 INSERT 语句执行后执行protected String列名protected final FieldMeta实体类字段主键策略3,优先级3:Java 方式生成主键,可与发号器服务配合使用protected boolean执行 genId 的时机,仅当 genId 不为空时有效,默认插入前执行protected boolean是否为主键protected boolean是否插入字段protected org.apache.ibatis.type.JdbcTypeJDBC 类型protected boolean是否可以为空protected String精度protected String排序方式protected int排序的优先级,数值越小优先级越高protected boolean是否查询字段protected TableMeta所在实体类protected Class<? extends org.apache.ibatis.type.TypeHandler> 类型处理器protected boolean是否更新字段protected boolean主键策略1,优先级1:是否使用 JDBC 方式获取主键,优先级最高,设置为 true 后,不对其他配置校验Fields inherited from class org.miaixz.bus.mapper.parsing.PropertyMeta
props -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription设置取主键的 SQL设置列名返回 column AS property 形式的字符串,当 column 和 property 相同时无别名columnAsProperty(String prefix) 返回 column AS prefixproperty 形式的字符串返回 column = #{property} 形式的字符串columnEqualsProperty(String prefix) 返回带前缀的 column = #{prefixproperty} 形式的字符串boolean判断两个 MapperColumn 对象是否相等设置 Java 方式生成主键的类genIdExecuteBefore(boolean genIdExecuteBefore) 设置执行 genId 的时机inthashCode()计算对象的哈希值boolean判断当前字段是否设置了主键策略id(boolean id) 设置是否为主键insertable(boolean insertable) 设置是否为插入字段Class<?> javaType()获取 Java 类型org.miaixz.bus.core.lang.Optional<String> 获取 Java 类型变量字符串,如 {, javaType=java.lang.String}jdbcType(org.apache.ibatis.type.JdbcType jdbcType) 设置 JDBC 类型org.miaixz.bus.core.lang.Optional<String> 获取数据库类型变量字符串,如 {, jdbcType=VARCHAR}当字段类型为 String 时,返回 property !notEmptyTest(String prefix) 当字段类型为 String 时,返回 prefixproperty !返回 property !notNullTest(String prefix) 返回带前缀的 prefixproperty !nullable(boolean nullable) 设置是否可以为空numericScale(String numericScale) 设置精度org.miaixz.bus.core.lang.Optional<String> 获取精度变量字符串,如 {, numericScale=2}static ColumnMeta创建 MapperColumn 实例设置排序方式orderByPriority(int orderByPriority) 设置排序优先级property()获取属性名获取带指定前缀的属性名selectable(boolean selectable) 设置是否为查询字段设置实体表toString()返回字符串表示形式,格式为 column = #{property}typeHandler(Class<? extends org.apache.ibatis.type.TypeHandler> typeHandler) 设置类型处理器org.miaixz.bus.core.lang.Optional<String> 获取类型处理器变量字符串,如 {, typeHandler=XXTypeHandler}updatable(boolean updatable) 设置是否为更新字段useGeneratedKeys(boolean useGeneratedKeys) 设置是否使用 JDBC 方式获取主键返回 XML 变量形式 #{property}返回带前缀的 XML 变量形式 #{prefixproperty}Methods inherited from class org.miaixz.bus.mapper.parsing.PropertyMeta
getBoolean, getBoolean, getInt, getInt, getProp, getProp, put, put, remove
-
Field Details
-
fieldMeta
实体类字段 -
tableMeta
所在实体类 -
column
列名 -
id
protected boolean id是否为主键 -
nullable
protected boolean nullable是否可以为空 -
useGeneratedKeys
protected boolean useGeneratedKeys主键策略1,优先级1:是否使用 JDBC 方式获取主键,优先级最高,设置为 true 后,不对其他配置校验 -
afterSql
主键策略2,优先级2:取主键的 SQL,当前SQL只能在 INSERT 语句执行后执行 -
genId
主键策略3,优先级3:Java 方式生成主键,可与发号器服务配合使用 -
genIdExecuteBefore
protected boolean genIdExecuteBefore执行 genId 的时机,仅当 genId 不为空时有效,默认插入前执行 -
orderBy
排序方式 -
orderByPriority
protected int orderByPriority排序的优先级,数值越小优先级越高 -
selectable
protected boolean selectable是否查询字段 -
insertable
protected boolean insertable是否插入字段 -
updatable
protected boolean updatable是否更新字段 -
jdbcType
protected org.apache.ibatis.type.JdbcType jdbcTypeJDBC 类型 -
typeHandler
类型处理器 -
numericScale
精度
-
-
Constructor Details
-
ColumnMeta
构造函数,初始化 MapperColumn- Parameters:
fieldMeta- 实体类字段
-
-
Method Details
-
of
创建 MapperColumn 实例- Parameters:
field- 实体类字段- Returns:
- MapperColumn 实例
-
tableMeta
设置实体表- Parameters:
entityTable- 实体表信息- Returns:
- 当前 MapperColumn 实例
-
column
设置列名- Parameters:
column- 列名- Returns:
- 当前 MapperColumn 实例
-
id
设置是否为主键- Parameters:
id- 是否为主键- Returns:
- 当前 MapperColumn 实例
-
nullable
设置是否可以为空- Parameters:
nullable- 是否可以为空- Returns:
- 当前 MapperColumn 实例
-
useGeneratedKeys
设置是否使用 JDBC 方式获取主键- Parameters:
useGeneratedKeys- 是否使用 JDBC 方式- Returns:
- 当前 MapperColumn 实例
-
afterSql
设置取主键的 SQL- Parameters:
afterSql- 主键 SQL- Returns:
- 当前 MapperColumn 实例
-
genId
设置 Java 方式生成主键的类- Parameters:
genId- 主键生成器类- Returns:
- 当前 MapperColumn 实例
-
genIdExecuteBefore
设置执行 genId 的时机- Parameters:
genIdExecuteBefore- 是否在插入前执行- Returns:
- 当前 MapperColumn 实例
-
orderBy
设置排序方式- Parameters:
orderBy- 排序方式- Returns:
- 当前 MapperColumn 实例
-
orderByPriority
设置排序优先级- Parameters:
orderByPriority- 排序优先级- Returns:
- 当前 MapperColumn 实例
-
selectable
设置是否为查询字段- Parameters:
selectable- 是否查询字段- Returns:
- 当前 MapperColumn 实例
-
insertable
设置是否为插入字段- Parameters:
insertable- 是否插入字段- Returns:
- 当前 MapperColumn 实例
-
updatable
设置是否为更新字段- Parameters:
updatable- 是否更新字段- Returns:
- 当前 MapperColumn 实例
-
jdbcType
设置 JDBC 类型- Parameters:
jdbcType- JDBC 类型- Returns:
- 当前 MapperColumn 实例
-
typeHandler
设置类型处理器- Parameters:
typeHandler- 类型处理器类- Returns:
- 当前 MapperColumn 实例
-
numericScale
设置精度- Parameters:
numericScale- 精度- Returns:
- 当前 MapperColumn 实例
-
javaType
获取 Java 类型- Returns:
- 字段的 Java 类型
-
property
获取属性名- Returns:
- 属性名
-
property
获取带指定前缀的属性名- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- 带前缀的属性名
-
variables
返回 XML 变量形式 #{property}- Returns:
- XML 变量字符串
-
variables
返回带前缀的 XML 变量形式 #{prefixproperty}- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- 带前缀的 XML 变量字符串
-
javaTypeVariables
获取 Java 类型变量字符串,如 {, javaType=java.lang.String}- Returns:
- Java 类型变量字符串的 Optional 包装对象
-
jdbcTypeVariables
获取数据库类型变量字符串,如 {, jdbcType=VARCHAR}- Returns:
- 数据库类型变量字符串的 Optional 包装对象
-
typeHandlerVariables
获取类型处理器变量字符串,如 {, typeHandler=XXTypeHandler}- Returns:
- 类型处理器变量字符串的 Optional 包装对象
-
numericScaleVariables
获取精度变量字符串,如 {, numericScale=2}- Returns:
- 精度变量字符串的 Optional 包装对象
-
columnAsProperty
返回 column AS property 形式的字符串,当 column 和 property 相同时无别名- Returns:
- column AS property 字符串
-
columnAsProperty
返回 column AS prefixproperty 形式的字符串- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- column AS prefixproperty 字符串
-
columnEqualsProperty
返回 column = #{property} 形式的字符串- Returns:
- column = #{property} 字符串
-
columnEqualsProperty
返回带前缀的 column = #{prefixproperty} 形式的字符串- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- column = #{prefixproperty} 字符串
-
notNullTest
返回 property != null 形式的字符串- Returns:
- property != null 字符串
-
notNullTest
返回带前缀的 prefixproperty != null 形式的字符串- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- prefixproperty != null 字符串
-
notEmptyTest
当字段类型为 String 时,返回 property != null and property != '' 形式的字符串;其他类型与 notNullTest 相同- Returns:
- 非空判断字符串
-
notEmptyTest
当字段类型为 String 时,返回 prefixproperty != null and prefixproperty != '' 形式的字符串;其他类型与 notNullTest 相同- Parameters:
prefix- 指定前缀,需包含 "."- Returns:
- 非空判断字符串
-
hasPrimaryKeyStrategy
public boolean hasPrimaryKeyStrategy()判断当前字段是否设置了主键策略- Returns:
- true 表示设置了主键策略,false 表示未设置
-
equals
判断两个 MapperColumn 对象是否相等 -
hashCode
public int hashCode()计算对象的哈希值 -
toString
返回字符串表示形式,格式为 column = #{property}
-