欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis中返回主鍵一直為1的問(wèn)題

 更新時(shí)間:2023年03月04日 13:17:12   作者:mikaelzero  
這篇文章主要介紹了mybatis中返回主鍵一直為1的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis 返回主鍵一直為1

1是返回的插入成功的行數(shù),這沒(méi)有錯(cuò)

而自增id則是直接映射到對(duì)象里,直接輸出 xxx.getId()即可

舉例:

在xml中:

<insert id="addUser" parameterType="blog.model.User" useGeneratedKeys="true" keyProperty="id">
......

java中代碼:

int primary = userService.addUser(user);
int id = user.getId();

上面的id就是返回的主鍵

mybatis 自增主鍵 主鍵回傳,返回id為null 踩坑

 Mybatis主鍵回傳流程

一、插入的實(shí)體對(duì)象中包含和數(shù)據(jù)庫(kù)字段唯一對(duì)應(yīng)的屬性

二、xml中配置(兩種方式)

方式一:

這種方式比較簡(jiǎn)單,就是在插入節(jié)點(diǎn)上添加 useGeneratedKeys 屬性,同時(shí)設(shè)置接收回傳主鍵的屬性。

6配置完成后,我們執(zhí)行一個(gè)插入操作,插入時(shí)傳入一個(gè)對(duì)象,插入完成后,這個(gè)對(duì)象的 id 就會(huì)被自動(dòng)賦值,值就是剛剛插入成功的id。

方式二:

這種方式是在 insert 節(jié)點(diǎn)中添加 selectKey 來(lái)實(shí)現(xiàn)主鍵回填,實(shí)際上這種方式的功能更加豐富,因?yàn)?selectKey 節(jié)點(diǎn)中的 SQL 我們既可以在插入之前執(zhí)行,也可以在插入之后執(zhí)行(通過(guò)設(shè)置節(jié)點(diǎn)的 Order 屬性為 AFTER 或者 BEFORE 可以實(shí)現(xiàn)),具體什么時(shí)候執(zhí)行,還是要看具體的需求,如果是做主鍵回填,我們當(dāng)然需要在插入 SQL 執(zhí)行之后執(zhí)行 selectKey 節(jié)點(diǎn)中的 SQL。

踩坑

void insertBook(InsertBook insertBook);//主鍵可以回填
void insertBook(@Param("ib") InsertBook insertBook);//主鍵不會(huì)回填

千萬(wàn)不要使用@Param注解?。。≈麈I不會(huì)回填?。?!

總結(jié)

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

相關(guān)文章

  • Intellij idea下使用不同tomcat編譯maven項(xiàng)目的服務(wù)器路徑方法詳解

    Intellij idea下使用不同tomcat編譯maven項(xiàng)目的服務(wù)器路徑方法詳解

    今天小編就為大家分享一篇關(guān)于Intellij idea下使用不同tomcat編譯maven項(xiàng)目的服務(wù)器路徑方法詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Java設(shè)計(jì)模式之淺談外觀模式

    Java設(shè)計(jì)模式之淺談外觀模式

    這篇文章主要介紹了Java設(shè)計(jì)模式之外觀模式的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Springboot微服務(wù)打包Docker鏡像流程解析

    Springboot微服務(wù)打包Docker鏡像流程解析

    這篇文章主要介紹了Springboot微服務(wù)打包Docker鏡像流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java線程阻塞工具LockSupport用法詳解

    Java線程阻塞工具LockSupport用法詳解

    Java中的LockSupport是一個(gè)用于線程同步的工具類,它提供了一種基于線程的阻塞和喚醒機(jī)制,LockSupport可以讓線程在特定條件下阻塞掛起,等待其他線程發(fā)送信號(hào)來(lái)喚醒它,本文將通過(guò)一個(gè)小案例給大家介紹一下LockSupport怎么用,讓你永遠(yuǎn)記住它
    2023-08-08
  • java文件處理工具類詳解

    java文件處理工具類詳解

    這篇文章主要為大家詳細(xì)介紹了java文件處理工具類的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Java版仿QQ驗(yàn)證碼風(fēng)格圖片驗(yàn)證碼

    Java版仿QQ驗(yàn)證碼風(fēng)格圖片驗(yàn)證碼

    這篇文章主要為大家分享了java圖片驗(yàn)證碼實(shí)例代碼,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Java字符串拼接新方法 StringJoiner用法詳解

    Java字符串拼接新方法 StringJoiner用法詳解

    在本篇文章中小編給大家分享的是一篇關(guān)于Java字符串拼接新方法 StringJoiner用法詳解,需要的讀者們可以參考下。
    2019-09-09
  • SpringBoot3整合MyBatis出現(xiàn)異常:Property?'sqlSessionFactory'or?'sqlSessionTemplate'?are?required

    SpringBoot3整合MyBatis出現(xiàn)異常:Property?'sqlSessionFactory&a

    這篇文章主要介紹了SpringBoot3整合MyBatis報(bào)錯(cuò):Property?‘sqlSessionFactory‘?or?‘sqlSessionTemplate‘?are?required,其實(shí)不是個(gè)大問(wèn)題,只是自己編碼時(shí)遇到了,然后總結(jié)總結(jié)分享一下,如果有遇到類似問(wèn)題的,可以參考一下
    2022-11-11
  • Mybatis 插件原理解析

    Mybatis 插件原理解析

    mybatis是一款優(yōu)秀的ORM開(kāi)源框架,這個(gè)框架具有極強(qiáng)的靈活性,本文再次給大家介紹Mybatis 插件原理,感興趣的朋友一起看看吧
    2021-10-10
  • SpringBoot?HikariCP配置項(xiàng)及源碼解析

    SpringBoot?HikariCP配置項(xiàng)及源碼解析

    這篇文章主要為大家介紹了SpringBoot?HikariCP配置項(xiàng)及源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論