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

mybatis 新增返回id的實(shí)現(xiàn)

 更新時(shí)間:2024年09月23日 10:40:56   作者:YLDominer  
Mybatis插入數(shù)據(jù)時(shí),可以通過(guò)兩種方式返回生成的ID,兩種方式都需要在實(shí)體類中提供userId的getter和setter方法,本文就詳細(xì)的介紹一下這兩種方法,感興趣的可以了解一下

前言

插入一條數(shù)據(jù)并返回ID的場(chǎng)景很常見(jiàn),mybatis的要麻煩一點(diǎn),mybatis-plus可能之前api插入再getId()就行了,這里說(shuō)一下Mybatis的兩個(gè)方式。

一、第一種方式

在實(shí)體類的映射文件 “*Mapper.xml” 這樣寫(xiě):

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.xxx.mybatis.User">
    insert into user(userName,password,comment)
    values(#{userName},#{password},#{comment})
</insert>

小Tips:

  • useGeneratedKeys=“true” 表示給主鍵設(shè)置自增長(zhǎng)
  • keyProperty=“userId” 表示將自增長(zhǎng)后的Id賦值給實(shí)體類中的userId字段。
  • parameterType=“com.xxx.mybatis.User” 這個(gè)屬性指向傳遞的參數(shù)實(shí)體類
  • id=“insertAndGetId” 這個(gè)不是固定叫這個(gè)的,你可以根據(jù)自己的來(lái)

這里提醒下,insert標(biāo)簽中沒(méi)有resultType屬性,不要亂加。

實(shí)體類中uerId 要有g(shù)etter() and setter(); 方法
我在MySQL數(shù)據(jù)庫(kù)中建表時(shí)候已經(jīng)設(shè)置了字段自增長(zhǎng),

二、第二種方式

1.引入庫(kù)

代碼如下(示例):

<!-- 插入一個(gè)商品 -->
<insert id="insertProduct" parameterType="domain.model.ProductBean" >
    <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="productId">
        SELECT LAST_INSERT_ID()
    </selectKey>
        INSERT INTO t_product(productName,productDesrcible,merchantId)values(#{productName},#{productDesrcible},#{merchantId});
</insert>

小Tips:

< insert >標(biāo)簽中沒(méi)有resultType屬性,但是< selectKey >標(biāo)簽是有的。
order=“AFTER” 表示先執(zhí)行插入語(yǔ)句,之后再執(zhí)行查詢語(yǔ)句。

可被設(shè)置為 BEFORE 或 AFTER。

如果設(shè)置為 BEFORE,那么它會(huì)首先選擇主鍵,設(shè)置 keyProperty 然后執(zhí)行插入語(yǔ)句。

如果設(shè)置為 AFTER,那么先執(zhí)行插入語(yǔ)句,然后是 selectKey 元素-這和如 Oracle 數(shù)據(jù)庫(kù)相似,可以在插入語(yǔ)句中嵌入序列調(diào)用
keyProperty=“userId” 表示將自增長(zhǎng)后的Id賦值給實(shí)體類中的userId字段。

SELECT LAST_INSERT_ID() 表示MySQL語(yǔ)法中查詢出剛剛插入的記錄自增長(zhǎng)Id.

實(shí)體類中uerId 要有g(shù)etter() and setter(); 方法

到此這篇關(guān)于mybatis 新增返回id的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mybatis 新增返回id內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis報(bào)Query?was?Empty異常的問(wèn)題

    mybatis報(bào)Query?was?Empty異常的問(wèn)題

    這篇文章主要介紹了mybatis報(bào)Query?was?Empty異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring?AI聊天功能開(kāi)發(fā)步驟

    Spring?AI聊天功能開(kāi)發(fā)步驟

    本文給大家介紹Spring?AI聊天功能開(kāi)發(fā)步驟,首先引入依賴,繼承父版本的springboot依賴,最好是比較新的依賴,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 解決RestTemplate 請(qǐng)求接收自定義400+ 或500+錯(cuò)誤

    解決RestTemplate 請(qǐng)求接收自定義400+ 或500+錯(cuò)誤

    這篇文章主要介紹了解決RestTemplate 請(qǐng)求接收自定義400+ 或500+錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java高級(jí)用法中的JNA類型映射注意細(xì)節(jié)及使用問(wèn)題

    Java高級(jí)用法中的JNA類型映射注意細(xì)節(jié)及使用問(wèn)題

    本文介紹了在使用JNA方法映射中應(yīng)該注意的一些細(xì)節(jié)和具體的使用問(wèn)題,對(duì)java??JNA類型映射注意細(xì)節(jié)感興趣的朋友一起看看吧
    2022-04-04
  • IDEA未配置SQL方言:無(wú)法使用SQL提示解決方法

    IDEA未配置SQL方言:無(wú)法使用SQL提示解決方法

    在使用IDEA進(jìn)行SQL開(kāi)發(fā)時(shí),如果未配置SQL方言可能會(huì)導(dǎo)致一些問(wèn)題,如無(wú)法正確識(shí)別數(shù)據(jù)庫(kù)中的關(guān)鍵字、數(shù)據(jù)類型等,這篇文章主要給大家介紹了關(guān)于IDEA未配置SQL方言,無(wú)法使用SQL提示解決方法的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Java里遍歷Map集合的多種方法總結(jié)

    Java里遍歷Map集合的多種方法總結(jié)

    Java中的Map是一種鍵值對(duì)映射的數(shù)據(jù)結(jié)構(gòu),它提供了一些常用的方法用于獲取、添加、刪除和修改元素,在Java中,有多種方式可以遍歷Map,本文將介紹其中的四種常用方式,并比較它們之間的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2024-07-07
  • java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法

    java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法

    本篇文章主要介紹了java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Dubbo3的Spring適配原理與初始化流程源碼解析

    Dubbo3的Spring適配原理與初始化流程源碼解析

    這篇文章主要為大家介紹了Dubbo3的Spring適配原理與初始化流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Java下載文件的4種方式總結(jié)

    Java下載文件的4種方式總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Java下載文件的4種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java中的布隆過(guò)濾器原理實(shí)現(xiàn)和應(yīng)用

    Java中的布隆過(guò)濾器原理實(shí)現(xiàn)和應(yīng)用

    Java中的布隆過(guò)濾器是一種基于哈希函數(shù)的數(shù)據(jù)結(jié)構(gòu),能夠高效地判斷元素是否存在于一個(gè)集合中。它廣泛應(yīng)用于緩存、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)查詢等領(lǐng)域,在提高程序性能和減少資源消耗方面具有顯著優(yōu)勢(shì)
    2023-04-04

最新評(píng)論