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

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

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

前言

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

一、第一種方式

在實(shí)體類(lèi)的映射文件 “*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í)體類(lèi)中的userId字段。
  • parameterType=“com.xxx.mybatis.User” 這個(gè)屬性指向傳遞的參數(shù)實(shí)體類(lèi)
  • id=“insertAndGetId” 這個(gè)不是固定叫這個(gè)的,你可以根據(jù)自己的來(lái)

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

實(shí)體類(lèi)中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í)行查詢(xún)語(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í)體類(lèi)中的userId字段。

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

實(shí)體類(lèi)中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)文章

  • SpringBoot下如何實(shí)現(xiàn)支付寶接口的使用

    SpringBoot下如何實(shí)現(xiàn)支付寶接口的使用

    這篇文章主要介紹了SpringBoot下如何實(shí)現(xiàn)支付寶接口的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot?對(duì)接飛書(shū)多維表格事件回調(diào)監(jiān)聽(tīng)流程分析

    SpringBoot?對(duì)接飛書(shū)多維表格事件回調(diào)監(jiān)聽(tīng)流程分析

    本文介紹了如何通過(guò)飛書(shū)事件訂閱機(jī)制和SpringBoot項(xiàng)目集成,對(duì)多維表數(shù)據(jù)的記錄變更進(jìn)行對(duì)接的詳細(xì)流程,包括如何創(chuàng)建應(yīng)用、配置參數(shù)、編寫(xiě)訂閱代碼、訂閱文檔事件以及在SpringBoot工程中集成的步驟,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java Swing JRadioButton單選按鈕具體使用

    Java Swing JRadioButton單選按鈕具體使用

    這篇文章主要介紹了Java Swing JRadioButton單選按鈕具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 淺談Spring Boot Web 應(yīng)用性能優(yōu)化

    淺談Spring Boot Web 應(yīng)用性能優(yōu)化

    這篇文章主要介紹了淺談Spring Boot Web 應(yīng)用性能優(yōu)化,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 全面解析Java觀察者模式

    全面解析Java觀察者模式

    這篇文章主要幫助大家全面解析Java觀察者模式,了解java設(shè)計(jì)模式中的觀察者模式,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Java中鍵盤(pán)輸入的幾種常見(jiàn)方式小結(jié)

    Java中鍵盤(pán)輸入的幾種常見(jiàn)方式小結(jié)

    本文主要介紹了Java中鍵盤(pán)輸入的幾種常見(jiàn)方式小結(jié),主要是三種方式IO流、Scanner類(lèi)、BufferedReader寫(xiě)入,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • springboot2中session超時(shí),退到登錄頁(yè)面方式

    springboot2中session超時(shí),退到登錄頁(yè)面方式

    這篇文章主要介紹了springboot2中session超時(shí),退到登錄頁(yè)面方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • MyBatis動(dòng)態(tài)<if>標(biāo)簽使用避坑指南

    MyBatis動(dòng)態(tài)<if>標(biāo)簽使用避坑指南

    這篇文章主要為大家介紹了MyBatis動(dòng)態(tài)<if>標(biāo)簽使用避坑指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • SpringBoot項(xiàng)目中使用OkHttp獲取IP地址的示例代碼

    SpringBoot項(xiàng)目中使用OkHttp獲取IP地址的示例代碼

    OkHttp?是一個(gè)由?Square?開(kāi)發(fā)的高效、現(xiàn)代的?HTTP?客戶(hù)端庫(kù),用于?Android?和?Java?應(yīng)用程序,它支持?HTTP/2?和?SPDY?等現(xiàn)代網(wǎng)絡(luò)協(xié)議,并提供了多種功能和優(yōu)化,本文給大家介紹了SpringBoot項(xiàng)目中如何獲取IP地址,需要的朋友可以參考下
    2024-08-08
  • Java中序列化和反序列化的完整講解

    Java中序列化和反序列化的完整講解

    序列化是將對(duì)象轉(zhuǎn)換成二進(jìn)制字節(jié)流的過(guò)程;反序列化是從二進(jìn)制字節(jié)流中恢復(fù)對(duì)象的過(guò)程。文中將為大家詳細(xì)講講二者的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-11-11

最新評(píng)論