Mybatis?Plus使用@TableId之坑及解決
Mybatis Plus使用@TableId之坑
1. TableId 可選類型
不添加注解時,默認(rèn)使用ID_WORKER(3)
public enum IdType {
/**
* 數(shù)據(jù)庫ID自增
*/
AUTO(0),
/**
* 該類型為未設(shè)置主鍵類型(將跟隨全局)
*/
NONE(1),
/**
* 用戶輸入ID
* <p>該類型可以通過自己注冊自動填充插件進(jìn)行填充</p>
*/
INPUT(2),
/* 以下3種類型、只有當(dāng)插入對象ID 為空,才自動填充。 */
/**
* 全局唯一ID (idWorker)
*/
ID_WORKER(3),
/**
* 全局唯一ID (UUID)
*/
UUID(4),
/**
* 字符串全局唯一ID (idWorker 的字符串表示)
*/
ID_WORKER_STR(5);
}
2. @TableId(value = “id”,type= IdType.AUTO)
使用條件:
- id 類型可以是Interger/Long;
- 數(shù)據(jù)庫主鍵id,mysql必須設(shè)置自增主鍵,postgreSQL必須設(shè)置自增序列,才能夠使用此注解。
3. @TableId(value = “id”,type= IdType.ID_WORKER)
使用條件:
- id 類型必須是Long;
- 因為ID_WORKER 生成的snowflakeId 是19位的全局id。
Mybatis Plus TableId無效
初次使用mybatisplus,剛開始正常,后來發(fā)現(xiàn)插入時總是duplicate key,百事不得其解,后發(fā)現(xiàn)問題如下
@TableId(type = IdType.ID_WORKER)
private Long id; # 正確
private long id; # 錯誤
private int id; # 錯誤
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
記錄一次腦癱操作。。。。
相關(guān)文章
SpringBoot封裝自己的Starter的實現(xiàn)方法
這篇文章主要介紹了SpringBoot封裝自己的Starter的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
淺談Spring Boot 開發(fā)REST接口最佳實踐
這篇文章主要介紹了淺談Spring Boot 開發(fā)REST接口最佳實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output
這篇文章主要介紹了解決Spring調(diào)用Feign報錯:java.io.IOException:Incomplete output stream問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實例
今天小編就為大家分享一篇關(guān)于Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Java實現(xiàn)讀取Excel文件功能(EasyExcel初使用)
EasyExcel是一款基于Java語言的開源Excel解析工具,可以幫助我們快速、高效地讀取和寫入Excel文件,這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)讀取Excel文件功能的相關(guān)資料,使用的是EasyExcel,需要的朋友可以參考下2024-07-07

