這個注釋主要用於對應數據庫表的實體類中的主鍵屬性。
寫法:@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了。