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

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

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

前言

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

一、第一種方式

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

<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ù)自己的來

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

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

二、第二種方式

1.引入庫

代碼如下(示例):

<!-- 插入一個(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)簽中沒有resultType屬性,但是< selectKey >標(biāo)簽是有的。
order=“AFTER” 表示先執(zhí)行插入語句,之后再執(zhí)行查詢語句。

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

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

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

SELECT LAST_INSERT_ID() 表示MySQL語法中查詢出剛剛插入的記錄自增長(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)文章

  • java解析xml文本的示例方法

    java解析xml文本的示例方法

    這篇文章主要為大家詳細(xì)介紹了java解析xml文本的相關(guān)方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • Java容器源碼LinkedList原理解析

    Java容器源碼LinkedList原理解析

    這篇文章主要介紹了Java容器源碼LinkedList原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Spring IoC學(xué)習(xí)之ApplicationContext中refresh過程詳解

    Spring IoC學(xué)習(xí)之ApplicationContext中refresh過程詳解

    這篇文章主要給大家介紹了關(guān)于Spring IoC學(xué)習(xí)之ApplicationContext中refresh過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java實(shí)現(xiàn)簡(jiǎn)單撲克牌游戲

    java實(shí)現(xiàn)簡(jiǎn)單撲克牌游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單撲克牌游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • spring boot使用logback日志級(jí)別打印控制操作

    spring boot使用logback日志級(jí)別打印控制操作

    這篇文章主要介紹了spring boot使用logback日志級(jí)別打印控制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • springboot業(yè)務(wù)功能實(shí)戰(zhàn)之告別輪詢websocket的集成使用

    springboot業(yè)務(wù)功能實(shí)戰(zhàn)之告別輪詢websocket的集成使用

    WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于springboot業(yè)務(wù)功能實(shí)戰(zhàn)之告別輪詢websocket的集成使用,需要的朋友可以參考下
    2022-10-10
  • Spring容器注入bean的幾種方式詳解

    Spring容器注入bean的幾種方式詳解

    這篇文章主要介紹了Spring容器注入bean的幾種方式詳解,@Configuration用來聲明一個(gè)配置類,然后使用 @Bean 注解,用于聲明一個(gè)bean,將其加入到Spring容器中,這種方式是我們最常用的一種,需要的朋友可以參考下
    2024-01-01
  • Java實(shí)現(xiàn)超市會(huì)員管理系統(tǒng)

    Java實(shí)現(xiàn)超市會(huì)員管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)超市會(huì)員管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 快速入門Java中的Lambda表達(dá)式

    快速入門Java中的Lambda表達(dá)式

    Lambda作為函數(shù)式編程中的基礎(chǔ)部分,在其他編程語言中早就廣為使用,但在Java領(lǐng)域中發(fā)展較慢,直到j(luò)ava8,才開始支持Lambda。網(wǎng)上關(guān)于Lambda的教程很多,今天小編給大家分享一篇快速入手Lambda的教程。
    2016-08-08
  • springboot?整合?clickhouse的實(shí)現(xiàn)示例

    springboot?整合?clickhouse的實(shí)現(xiàn)示例

    本文主要介紹了springboot?整合?clickhouse的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論

兴安县| 封开县| 思茅市| 余姚市| 洮南市| 安阳县| 阳曲县| 长顺县| 沧源| 安乡县| 军事| 昔阳县| 云霄县| 图木舒克市| 盱眙县| 普格县| 六枝特区| 鹤庆县| 长沙市| 郓城县| 中江县| 日喀则市| 紫金县| 大新县| 梁山县| 锦州市| 茂名市| 涿鹿县| 封开县| 留坝县| 兰考县| 汕头市| 锡林郭勒盟| 河池市| 民勤县| 安吉县| 安塞县| 竹山县| 浙江省| 牙克石市| 濉溪县|