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

解決mybatis-plus新增數(shù)據(jù)自增ID變無序問題

 更新時間:2023年07月15日 09:45:14   作者:某猿蚊常叮  
這篇文章主要介紹了解決mybatis-plus新增數(shù)據(jù)自增ID變無序問題,具有很好的參考價值,希望對大家有所幫助。

mybatis-plus新增數(shù)據(jù)自增ID變無序

問題描述

在測試mybatis-plus時, 發(fā)現(xiàn)新增接口,新增出來的數(shù)據(jù)id變的巨長且無序, 經(jīng)過查詢,原來是實體類少了注解, 下面是未添加之前的

@Data
public class User {
? ? private Integer id;
? ? private String username;
? ? // 忽略,不傳到前端
? ? @JsonIgnore
? ? private String password;
? ? private String nickname;
? ? private String email;
? ? private String phone;
? ? private String address;
}

解決

這里需要在id上指定, 自增的設(shè)定: @TableId(value = "id", type = IdType.AUTO), 如下

@Data
public class User {
? ? @TableId(value = "id", type = IdType.AUTO)
? ? private Integer id;
? ? private String username;
? ? // 忽略,不傳到前端
? ? @JsonIgnore
? ? private String password;
? ? private String nickname;
? ? private String email;
? ? private String phone;
? ? private String address;
}

但下次新增的時候, id會從你最后一次新增的那個id開始自增, 所以我們的將mysql的id進行重置, 重置方法, 這里就采用比較簡單的

1. 刪除錯誤id數(shù)據(jù)

首先將之前新增的無序的id數(shù)據(jù)刪除

2. alter table重置自增ID

例如:

DELETE FROM USER WHERE ID = 4;

使用 ALTER TABLE 重置自增 ID:

ALTER TABLE table_name AUTO_INCREMENT = value;
  • table_name為當前要重置自增 ID 的表名。
  • value必須是大于當前表中最大 ID 數(shù),本示例中當前表最大數(shù)為 2,我們可以設(shè)置成 3。

至此, 后面就可以愉快的寫代碼了

mybaits-plus新增數(shù)據(jù)明明沒有輸入id的值(id自增)卻報錯

mybaits-plus新增數(shù)據(jù)明明沒有輸入id的值(id自增)卻報錯???

新增數(shù)據(jù)

{
    "name": "第二fff會議室",
    "isApprove": 1,
    "remarks": "第1會議室"
}

報錯信息

Data truncation: Out of range value for column 'id' at row 1

明明沒有輸入id的值

并且數(shù)據(jù)庫表中已經(jīng)設(shè)置了id為自增

在這里插入圖片描述

百度資料,終于找到了原因

這里貼圖展示原因:

mybatis-plus開啟主鍵雪花策略,生成19位隨機字符串,數(shù)據(jù)庫中的主鍵字段為int類型,長度小于19位。解決:將數(shù)據(jù)庫中表的主鍵字段設(shè)置為bigint類型

在這里插入圖片描述

結(jié)果成功

{
    "code": 201,
    "data": true,
    "message": "請求成功"
}

MyBatisPlus自增id怎么設(shè)置成int自增呢?

使用 mybatis-plus的insert方法,在底層會默認生成一個Long類型的UUID,這就導致跟數(shù)據(jù)庫里面類型不一致導致錯誤,我們首先要做的是要把這個默認自增的主鍵給禁了

1.在實體類 id上面加一個注解,并且實體類繼承Model

@TableId(value = “id”,type = IdType.INPUT)
private Integer id;

2.然后在重寫這個方法

@Override
protected Serializable pkVal() {
return this.id;
}

3.不要忘記了在數(shù)據(jù)庫設(shè)計表中勾選自動增長,不然會報錯:

在這里插入圖片描述

在這里插入圖片描述

總結(jié)

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

相關(guān)文章

  • IDEA之IDEA連接gitlab協(xié)同開發(fā)方式

    IDEA之IDEA連接gitlab協(xié)同開發(fā)方式

    通過IDEA克隆GitLab項目實現(xiàn)代碼協(xié)同開發(fā)相較于使用SourceTree,?通過IDEA連接GitLab進行代碼協(xié)同開發(fā)更顯便捷,方法包括通過VersionControl創(chuàng)建新項目,輸入項目的git?HTTP地址和本地路徑,測試連接成功后克隆項目,修改代碼后
    2024-11-11
  • Spring中BeanUtils.copyProperties的坑及解決

    Spring中BeanUtils.copyProperties的坑及解決

    這篇文章主要介紹了Spring中BeanUtils.copyProperties的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Spring Boot 如何將 Word 轉(zhuǎn)換為 PDF

    Spring Boot 如何將 Word 轉(zhuǎn)換為 PDF

    這篇文章主要介紹了Spring Boot將Word轉(zhuǎn)換為 PDF,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 在Spring中配置Quartz的三種方式

    在Spring中配置Quartz的三種方式

    Spring Quartz 是一個任務(wù)調(diào)度框架,它允許我們定期執(zhí)行特定的任務(wù),在 Spring 中,我們可以通過多種方式來配置 Quartz,包括使用 ??@Scheduled?? 注解、XML 配置和 Java 配置,本文將介紹如何在 Spring 中使用這三種方式來配置 Quartz,需要的朋友可以參考下
    2025-01-01
  • Springboot遷移到Micronaut實現(xiàn)過程詳解

    Springboot遷移到Micronaut實現(xiàn)過程詳解

    這篇文章主要為大家?介紹了Springboot遷移到Micronaut實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 詳解Spring Boot下使用logback 記錄多個文件日志

    詳解Spring Boot下使用logback 記錄多個文件日志

    這篇文章主要介紹了詳解Spring Boot下使用logback 記錄多個文件日志,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • SpringBoot整合Lettuce redis過程解析

    SpringBoot整合Lettuce redis過程解析

    這篇文章主要介紹了SpringBoot整合Lettuce redis過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • springMVC4之強大類型轉(zhuǎn)換器實例解析

    springMVC4之強大類型轉(zhuǎn)換器實例解析

    本篇文章主要介紹了springMVC4之強大類型轉(zhuǎn)換器實例解析,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java中map和flatMap的區(qū)別舉例詳解

    Java中map和flatMap的區(qū)別舉例詳解

    這篇文章主要給大家介紹了關(guān)于Java中map和flatMap區(qū)別的相關(guān)資料,在Java中Stream接口有map()和flatmap()方法,兩者都有中間流操作,并返回另一個流作為方法輸出,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于mybatis callSettersOnNulls 配置解析

    關(guān)于mybatis callSettersOnNulls 配置解析

    這篇文章主要介紹了關(guān)于mybatis callSettersOnNulls 配置,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-06-06

最新評論

中西区| 凌海市| 滦南县| 杂多县| 延安市| 济南市| 股票| 民乐县| 绥江县| 信丰县| 汤原县| 怀化市| 扎囊县| 临安市| 准格尔旗| 嵊泗县| 中方县| 长葛市| 萨嘎县| 淳化县| 灌阳县| 辽源市| 铁岭县| 伊金霍洛旗| 神农架林区| 固安县| 哈尔滨市| 蛟河市| 宽城| 合川市| 吴江市| 北碚区| 海安县| 祥云县| 庄河市| 桂东县| 子长县| 青阳县| 钦州市| 牟定县| 二手房|