1.@Column注解
该注解可用在类的属性、注解上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
String | value | 字段名 | 不填默认使用属性名作为表字段名 |
MySqlTypeConstant | type | 字段类型 | MySqlTypeConstant.DEFAULT;不填默认使用属性的数据类型进行转换,转换失败的字段不会添加 |
int | length | 字段长度 | 默认是255 |
int | decimalLength | 小数点长度 | 默认是0 |
boolean | notNull | 是否为可以为null,true是可以,false是不可以 | 默认为true |
boolean | isKey | 是否是主键 | 默认false;同@IsKey |
boolean | isAutoIncrement | 是否自动递增 | 默认false;同@IsAutoIncrement |
String | defaultValue | 默认值 | 默认为null;同@ColumnDefault,可搭配@IsNativeDefValue使用 |
String | comment | 数据表字段备注 | 默认为空;同@ColumnComment |
@Column注解的属性单独使用:
注解 | 属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|---|
@ColumnComment | String | value | 字段备注 | 默认"" |
@ColumnDefault | String | value | 字段的默认值 | 默认"" |
@IsNativeDefValue | boolean | value | 开启默认值原生模式 | 默认为true; 原生模式介绍:默认是false表示非原生,此时value只支持字符串形式,会将value值以字符串的形式设置到字段的默认值,例如value="aa" 即sql为 DEFAULT "aa" ;如果设置true,此时如果默认值为="CURRENT_TIMESTAMP",即sql为 DEFAULT CURRENT_TIMESTAMP; |
@ColumnType | String | value | 字段的默认值 | 默认"" |
@IsAutoIncrement | boolean | value | 是否需要设置自增 | 默认为true |
@IsKey | boolean | value | 标志该字段为主键 | 默认为false |
@IsNotNull | boolean | value | 标志字段不允许为空 | 默认为false |
2.@DsName
该注解可用在类、注解上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
String | value | 数据源名城 | 无默认值 |
3.@EnableTimeSuffix
含义:表明时间后缀
该注解可用在类上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
boolean | value | 开启时间后缀 | 默认开启 |
String | pattern | 时间后缀格式 | 默认 DateTimeFormatConstant.DATE_MONTH |
4.@IgnoreTable
含义:忽略建表的注释
该注解可用在类上
无属性
5.@IgnoreUpdate
含义:忽略字段更新
该注解可用在类的属性上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
boolean | value | 是否忽略对当前字段的更新操作 | 默认忽略 |
6.@Index
含义:设置字段索引
该注解可用在类的属性上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
String | value | 索引的名字 | 不设置默认为:{actable_idx_当前标记字段名@Column的name}; 如果设置了名字例如union_name就是actable_idx_union_name |
String[] | columns | 要建立索引的字段名 | 不设置默认为:当前标记字段名@Column的name;可设置多个建立联合索引{"login_mobile","login_name"} |
7.@Table
含义:创建表时的表名
该注解可用在类上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
String | value | 表名 | 默认"" |
boolean | primary | 是否主表 | 默认false |
String | dsName | 数据源名称 | 默认"" |
String | comment | 表注解;也可用@TableComment | 默认"" |
MySqlCharsetConstant | charset | 表字符集;也可用@TableCharset | 默认MySqlCharsetConstant.DEFAULT mysql支持的字符集:DEFAULT, ARMSCII8, ASCII, BIG5, BINARY, CP850, CP852, CP866, CP932, CP1250, CP1251, CP1256, CP1257, DEC8, EUCJPMS, EUCKR, GB2312, GBK, GEOSTD8, GREEK, HEBREW, HP8, KEYBCS2, KOI8R, KOI8U, LATIN1, LATIN2, LATIN5, LATIN7, MACCE, MACROMAN, SJIS, SWE7, TIS620, UCS2, UJIS, UTF8, UTF8MB4, UTF16, UTF32; |
MySqlEngineConstant | engine | 表引擎,也可用@TableEngine | 默认MySqlEngineConstant.DEFAULT mysql支持的引擎: DEFAULT, ARCHIVE, BLACKHOLE, CSV, InnoDB, MEMORY, MRG_MYISAM, MyISAM, PERFORMANCE_SCHEMA; |
String[] | excludeFields | 需要排除的属性名,排除掉的属性不参与建表 | 默认 {"serialVersionUID"} |
@Table中的属性单独使用:
注解 | 属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|---|
@TableCharset | MySqlCharsetConstant | value | 表字符集 | 默认MySqlCharsetConstant.DEFAULT |
@TableComment | String | value | 表注释 | 默认"" |
@TableEngine | MySqlEngineConstant | value | 表引擎 | 默认MySqlEngineConstant.DEFAULT |
@TablePrimary | boolean | value | 多个Entity对应一个表的情况下,需要指定哪个是主要的,true表示主要的,以此为蓝本创建表 | 默认false |
@Unique
设置字段唯一约束
可用于类的属性上
属性类型 | 名称 | 含义 | 默认值 |
---|---|---|---|
String | value | 唯一约束的名字 | 默认""; 不设置默认为{actable_uni_当前标记字段名@Column的name};如果设置了名字例如union_name,就是actable_uni_union_name |
String[] | columns | 唯一约束的字段名 | 默认{};唯一约束的字段名,不设置默认为当前标记字段名@Column的name 可设置多个建立联合唯一{"login_mobile","login_name"} |