主键类型
public enum IdType {
AUTO(0),
NONE(1),
INPUT(2),
ASSIGN_ID(3),
ASSIGN_UUID(4),
/** @deprecated */
@Deprecated
ID_WORKER(3),
/** @deprecated */
@Deprecated
ID_WORKER_STR(3),
/** @deprecated */
@Deprecated
UUID(4);
private final int key;
private IdType(int key) {
this.key = key;
}
public int getKey() {
return this.key;
}
}
-
NONE
-> 没有主键 -
AUTO
-> 自动增长 -
INPUT
-> 手工输入 -
ASSIGN_ID
-> 雪花算法如果不设置类型值,默认则使用
IdType.ASSIGN_ID
策略(自3.3.0起)。该策略会使用雪花算法自动生成主键ID,主键类型为长或字符串(分别对应的MySQL
的表字段为BIGINT
和VARCHAR
) -
ASSIGN_UUID
-> 排除中划线的UUID如果使用
IdType.ASSIGN_UUID
策略,并重新自动生成排除中划线的UUID
作为主键。主键类型为String
,对应MySQL
的表分段为VARCHAR
(32) -
ID_WORKER
-> 使用雪花算法,实体类用Long id
定义属性,表的列中使用bigint
类型,int
类型大小不够 -
ID_WORDKER_STR
-> 使用雪花算法 ,实体类中用String id
,表的列中使用VARCHAR 50
-
UUID
-> 实体类中使用String id
,表的列中使用VARCHAR 50
指定表名
如果定义的实体类的名字和数据库里的表名不一样,需要指定表名
- 在实体类的上面使用注解
@TableName(value = "表的名称")
指定列名
如果定义的实体类的中属性名和数据库里的表的列名不一样,需要指定列名
- 在属性上面使用注解
@TableField(value = "列名")
驼峰命名
如果表中列名使用的是下划线的命名风格,实体类的属性命名风格 则是驼峰命名方式
-
user_name
->userName
-
user_age
->userAge