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

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

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

前言

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

一、第一種方式

在實體類的映射文件 “*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” 表示給主鍵設置自增長
  • keyProperty=“userId” 表示將自增長后的Id賦值給實體類中的userId字段。
  • parameterType=“com.xxx.mybatis.User” 這個屬性指向傳遞的參數(shù)實體類
  • id=“insertAndGetId” 這個不是固定叫這個的,你可以根據(jù)自己的來

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

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

二、第二種方式

1.引入庫

代碼如下(示例):

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

可被設置為 BEFORE 或 AFTER。

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

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

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

實體類中uerId 要有getter() and setter(); 方法

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

相關文章

  • mybatis報Query?was?Empty異常的問題

    mybatis報Query?was?Empty異常的問題

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

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

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

    解決RestTemplate 請求接收自定義400+ 或500+錯誤

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

    Java高級用法中的JNA類型映射注意細節(jié)及使用問題

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

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

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

    Java里遍歷Map集合的多種方法總結

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

    java通過HttpServletRequest獲取post請求中的body內容的方法

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

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

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

    Java下載文件的4種方式總結

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

    Java中的布隆過濾器原理實現(xiàn)和應用

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

最新評論