最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis-Plus自動生成id涉及的問題解決過程

 更新時間:2025年12月16日 08:38:25   作者:qq_50893488  
文章主要講述了解決用戶ID在頁面和數據庫中不一致的問題,并提供了兩種解決方案:將主鍵類型改為String或刪除數據庫表重新創(chuàng)建以清空最大id

起因

一開始我發(fā)現我頁面和數據庫中用戶id不一致,導致我通過id刪除用戶操作時,找不到對應id,結果導致刪除不了。

如下圖:

解決過程

① 我第一想到的辦法就是能不能把生成的id變的短而簡單,比如1,2,3,4... 這樣就不會讓頁面和數據庫的id不一致。

于是我就給實體類主鍵添加@TableId(value="id",type=IdType.AUTO) 注解,

讓主鍵id不使用雪花算法生成id,用數據庫自增id的形式生成id(此時如果你數據庫id并沒有設置為自增,那就會報錯!

PS: 很多人添加了上圖注解后,添加User后仍然發(fā)現生成的id是19位的數字,其實并不是因為這個@TableId沒生效,而是因為數據庫保留了之前雪花算法id的最大值,從此以后就以這個最大值為基礎進行自增。

還有,如果你簡單的以為把數據庫表中原先19位的用戶id全部改為1,2,3,4....等短而簡單的數字作為id,配合@TableId注解,想著添加新的User的時候生成的 id 就不會是19位的數字了,但結果依舊為19位的數字,還是那句話數據庫保留了之前雪花算法id的最大值,從此以后就以這個最大值為基礎進行自增。

看來只有我把數據庫的表刪了,重新建表,這樣讓數據庫由于id自增保留的最大id清空,最終發(fā)現添加新User就變成了1,2,3,4......成功解決?。?!

②還有個辦法就是把User的id改成String類型,這樣也能讓前端JS和后端的id一致。

或者在項目中都是將注解標注在對應字段上,在Json序列化的時候把Long自動轉為String。

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot與Spring之間的對比

    SpringBoot與Spring之間的對比

    這篇文章主要介紹了SpringBoot與Spring之間的對比,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • RestTemplate如何獲取HTTP狀態(tài)碼

    RestTemplate如何獲取HTTP狀態(tài)碼

    文章介紹了使用RestTemplate請求接口并處理HTTP狀態(tài)碼的方法,為了解決默認處理器拋出異常的問題,建議自定義ResponseErrorHandler,自定義處理器不會拋出異常,從而可以獲取ResponseEntity對象并獲取HTTP狀態(tài)碼
    2026-01-01
  • Java掩碼的幾種使用例舉

    Java掩碼的幾種使用例舉

    今天小編就為大家分享一篇關于Java掩碼的使用,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java數組使用binarySearch()方法查找指定元素的實現

    Java數組使用binarySearch()方法查找指定元素的實現

    這篇文章主要介紹了Java數組使用binarySearch()方法查找指定元素的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Java中Map的entrySet()使用說明

    Java中Map的entrySet()使用說明

    這篇文章主要介紹了Java中Map的entrySet()使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java連接操作Oracle數據庫代碼詳解

    Java連接操作Oracle數據庫代碼詳解

    這篇文章主要介紹了Java連接操作Oracle數據庫代碼詳解的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 淺談在Java中JSON的多種使用方式

    淺談在Java中JSON的多種使用方式

    這篇文章主要介紹了淺談在Java中JSON的多種使用方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • java實現銀行ATM管理系統

    java實現銀行ATM管理系統

    這篇文章主要為大家詳細介紹了java實現銀行ATM管理系統,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Springboot通過Scheduled實現定時任務代碼

    Springboot通過Scheduled實現定時任務代碼

    這篇文章主要介紹了Springboot通過Scheduled實現定時任務代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • MyBatis中#{}占位符與${}拼接符的用法說明

    MyBatis中#{}占位符與${}拼接符的用法說明

    這篇文章主要介紹了MyBatis中#{}占位符與${}拼接符的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論

彭州市| 南阳市| 霍城县| 新田县| 定远县| 云阳县| 扎囊县| 阿坝县| 澜沧| 都匀市| 玛多县| 抚顺市| 中阳县| 抚宁县| 庆阳市| 博客| 越西县| 乌鲁木齐县| 阿克苏市| 禄丰县| 子长县| 汝阳县| 五大连池市| 固原市| 朔州市| 灌阳县| 山西省| 炎陵县| 开阳县| 大化| 运城市| 濉溪县| 濮阳县| 宜君县| 舒兰市| 株洲县| 仁布县| 和静县| 甘肃省| 鸡泽县| 尚义县|