亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis的insert插入后獲取自增id的方法詳解(從controller到mapper)

 更新時間:2023年10月17日 11:24:56   作者:拄杖盲學輕聲碼  
這篇文章主要介紹了mybatis的insert插入后獲取自增id的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

需求說明:當執(zhí)行插入操作的時候,其中數(shù)據(jù)包含兩個模塊,分別存放在兩種數(shù)據(jù)庫表中,拿表A,表B來說。
表A為基本信息表,其中插入時候有自增id,也就是每新增一條數(shù)據(jù)后下一個id都會自動加1。
表B為詳情表,其中有個字段為A_id與A表中的id是一樣的,也就是他們的關(guān)聯(lián)字段。

那么問題就來了:如果你在新增數(shù)據(jù)的時候,你發(fā)現(xiàn)基本信息和詳情的數(shù)據(jù)都是在一個頁面中,也是同時傳遞到后端接口中,那么我們勢必會有個先后,必須要有A表中的id,那樣的話B表中的數(shù)據(jù)才能夠?qū)?yīng)入庫,不然所屬關(guān)聯(lián)關(guān)系就會亂,這樣也會影響功能,廢話不多說,直接上代碼。

Controller.java代碼模塊(也可以寫在service,看個人習慣)

//數(shù)據(jù)新增
//先將基本數(shù)據(jù)入庫  
res = service.insertbase(po);
int id =po.getId();
newid = id;
//然后獲取id再將另一部分數(shù)據(jù)入另一張表

Mapper.xml代碼模塊

<insert id="insertbase" parameterType="alertmodelPo" useGeneratedKeys="true" keyProperty="po.id">
        insert into A(profile_name,use_flag, create_by, create_date, remark)
        values (#{po.profile_name},'1', #{po.create_by}, now(), #{po.remark})
        <selectKey order="AFTER" resultType="java.lang.Integer" keyProperty="po.id">
            select last_value from A_id_seq
        </selectKey>
 </insert>

keyProperty:默認為unset,主要用于設(shè)置getGeneratedKeys方法或selectKey子元素返回值將賦值到領(lǐng)域模型的哪個屬性中。

useGeneratedKeys:取值范圍true|false(默認值),設(shè)置是否使用JDBC的。

其中主要是先執(zhí)行插入操作,然后再從表序列中查詢出最新的數(shù)據(jù),也就是last_value,這個地方存在一個情況就是表的數(shù)據(jù)最好不要直接庫操作表插入,不然會影響這個表的序列,當然重置表序列等操作可以看我之前寫的博客,里面有詳細介紹。

操作過程可能遇到的問題:

Id值取不到之情況1:keyProperty的值直接寫id沒有寫po.id。

本質(zhì)原因,因為keyProperty的值是對象的屬性值,不是數(shù)據(jù)表中的字段名。

Id值取不到之情況2:在dao層的入?yún)⑻帥]有聲明@Param(“po”)從而導致po.id的值獲取不到,也就是說這個沒聲名的話mapper里面就不知道你的po是什么值,就會報錯no getter ‘po’……..。

本質(zhì)原因,對@Param的理解不夠。

后話:

*之前網(wǎng)上很多都是沒有下面selectKey的標簽,我發(fā)現(xiàn)這個不寫的話會存在版本兼容,報下面這個錯誤,所以沒有用網(wǎng)上的那些方法,上面的我寫的方法反正百試不爽。所以還是用我的方法吧。

Returning autogenerated keys is only supported for 8.2 and later servers.

以上就是mybatis的insert插入后獲取自增id的方法詳解(從controller到mapper)的詳細內(nèi)容,更多關(guān)于mybatis insert獲取自增id的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 代理角色java設(shè)計模式之靜態(tài)代理詳細介紹

    代理角色java設(shè)計模式之靜態(tài)代理詳細介紹

    查了好多資料,發(fā)現(xiàn)還是不全,干脆自己整理吧,至少保證在我的做法正確的,以免誤導讀者,也是給自己做個記錄吧!
    2013-05-05
  • spring boot自帶圖片服務(wù)器使用詳解

    spring boot自帶圖片服務(wù)器使用詳解

    這篇文章主要為大家詳細介紹了spring boot自帶圖片服務(wù)器的使用 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java轉(zhuǎn)義字符詳細介紹

    Java轉(zhuǎn)義字符詳細介紹

    這篇文章主要介紹了Java轉(zhuǎn)義字符的相關(guān)資料,包括換行符、回車符、換頁符、退格符、空字符、空格、制表符、單引號、雙引號、反斜杠以及八進制和十六進制字符,通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-12-12
  • mybatis insert 返回自增主鍵的實現(xiàn)示例

    mybatis insert 返回自增主鍵的實現(xiàn)示例

    mybatis 在新增之后怎么也獲取不到自增主鍵,本文主要介紹了mybatis insert 返回自增主鍵的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    這篇文章主要介紹了詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法,是Java入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • java向es中寫入數(shù)據(jù)報錯org.elasticsearch.action.ActionReque問題

    java向es中寫入數(shù)據(jù)報錯org.elasticsearch.action.ActionReque問題

    這篇文章主要介紹了java向es中寫入數(shù)據(jù)報錯org.elasticsearch.action.ActionReque問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Spring Boot 配置文件詳解(小結(jié))

    Spring Boot 配置文件詳解(小結(jié))

    Spring Boot提供了兩種常用的配置文件,分別是properties文件和yml文件。本章重點介紹yml的語法和從配置文件中取值。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 詳解Java中用于國際化的locale類

    詳解Java中用于國際化的locale類

    Java中也有用于轉(zhuǎn)換和劃分地區(qū)的國際化類java.lang.Locale,國際化在程序中設(shè)置語言和時間等時非常有用,下面我們就來詳解Java中用于國際化的locale類
    2016-06-06
  • Java 實戰(zhàn)項目之小說在線閱讀系統(tǒng)的實現(xiàn)流程

    Java 實戰(zhàn)項目之小說在線閱讀系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)前臺閱讀后臺管理的小說在線閱讀系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • springboot自定義starter示例代碼

    springboot自定義starter示例代碼

    SpringBoot自定義Starter項目的命名建議遵循xxx-spring-boot-starter格式,以避免與官方或第三方Starter產(chǎn)生沖突,核心規(guī)范包括自動裝配文件的配置,旨在通過spring.factories或spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
    2024-11-11

最新評論