这个注释主要用于对应数据库表的实体类中的主键属性。
写法:@TableId(value=“数据库主键字段”,type = IdType.六种类型之一)
例如:@TableId(value=“user_id”,type = IdType.AUTO )
1、注解中type的值的含义
//IdType.ID_WORKER_STR 默认的;底层使用了雪花算法;类型为Integer
//IdType.AUTO 数据库自增;数据库上也要勾上自增
//IdType.NONE 没有设置主键类型;跟随全局;全局的主键策略如果没有设置,默认是雪花算法
//IdType.INPUT 手动输入;必须手动输入,数据库自增也没用;
//IdType.UUID 全局唯一id;无序;字符串;
//ID_WORKER_STR 全局唯一(idWorker的字符串表示);
2,全局主键策略实现
需要在application.yml文件中添加
mybatis-plus:
mapper-locations:
- com/mp/mapper/*
global-config:
db-config:
id-type: uuid/none/input/id_worker/id_worker_str/auto 表示全局主键都采用该策略(如果全局策略和局部策略都有设置,局部策略优先级高)
3、Mybatis-plus自动生成mysql的UUId
/**
* ID
*/
@TableId(type = IdType.UUID)
private String id;
注意:
1.修改entity的代码如上,生成getter and setter
2.修改数据库的数据类型为varchar(36)
这样就可以使用UUID了。