mybatis-plus坑之insert方法


寫在前面

有天早上我的一個同事,突然跑來告訴我。我們某張表的自增ID變得很大。類似1173776258468638722 這種。這個當然是不能接受的啊。

着手解決

然后就開始找問題的原因,一開始我想的是數據庫上的問題,我刪掉不合理的數據,
alter table *** AUTO_INCREMENT=20,修改自增ID從20開始。手動插入數據,居然OK。

那就說明,可能是我們代碼insert數據的時候存在的問題。我找到數據庫訪問層的insert語句處,發現使用的是mybatis-plus,網上查了一下關於這塊的東西,發現insert方法在配置的時候,可以指定自增ID的方式。源碼中定義有以下幾種:

public enum IdType {
    AUTO(0, "數據庫ID自增"),
    INPUT(1, "用戶輸入ID"),
    ID_WORKER(2, "全局唯一ID"),
    UUID(3, "全局唯一ID"),
    NONE(4, "該類型為未設置主鍵類型"),
    ID_WORKER_STR(5, "字符串全局唯一ID");

然后我就果斷手動配置了一下,

    @TableId(type = IdType.AUTO)
    private Long userId;

,重啟測試,OK。

也是很奇怪為什么之前的那部分數據的自增ID都是沒問題的,突然出現這個,也是很困惑

總結,出現這個問題的原因,還是因為自己技術不熟練啦~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM