您好,登錄后才能下訂單哦!
這篇文章主要講解了“Mybatis Plus使用@TableId坑怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Mybatis Plus使用@TableId坑怎么解決”吧!
不添加注解時,默認使用ID_WORKER(3)
public enum IdType { /** * 數據庫ID自增 */ AUTO(0), /** * 該類型為未設置主鍵類型(將跟隨全局) */ NONE(1), /** * 用戶輸入ID * <p>該類型可以通過自己注冊自動填充插件進行填充</p> */ INPUT(2), /* 以下3種類型、只有當插入對象ID 為空,才自動填充。 */ /** * 全局唯一ID (idWorker) */ ID_WORKER(3), /** * 全局唯一ID (UUID) */ UUID(4), /** * 字符串全局唯一ID (idWorker 的字符串表示) */ ID_WORKER_STR(5); }
使用條件:
id 類型可以是Interger/Long;
數據庫主鍵id,mysql必須設置自增主鍵,postgreSQL必須設置自增序列,才能夠使用此注解。
使用條件:
id 類型必須是Long;
因為ID_WORKER 生成的snowflakeId 是19位的全局id。
初次使用mybatisplus,剛開始正常,后來發現插入時總是duplicate key,百事不得其解,后發現問題如下
@TableId(type = IdType.ID_WORKER) private Long id; # 正確 private long id; # 錯誤 private int id; # 錯誤
感謝各位的閱讀,以上就是“Mybatis Plus使用@TableId坑怎么解決”的內容了,經過本文的學習后,相信大家對Mybatis Plus使用@TableId坑怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。