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

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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

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

    java解析xml文本的示例方法

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

    Java容器源碼LinkedList原理解析

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

    Spring IoC學習之ApplicationContext中refresh過程詳解

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

    java實現(xiàn)簡單撲克牌游戲

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

    spring boot使用logback日志級別打印控制操作

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

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

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

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

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

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

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

    快速入門Java中的Lambda表達式

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

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

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

最新評論

烟台市| 张掖市| 马关县| 乌审旗| 沙湾县| 中方县| 拉孜县| 栾川县| 疏勒县| 土默特左旗| 潼南县| 乌鲁木齐县| 德兴市| 尖扎县| 新巴尔虎右旗| 土默特右旗| 乐业县| 高尔夫| 额济纳旗| 海南省| 甘孜县| 安多县| 吉木乃县| 顺昌县| 柳州市| 德钦县| 宜兰市| 镇江市| 赤峰市| 兰坪| 广南县| 涪陵区| 和平县| 兴业县| 蚌埠市| 历史| 呈贡县| 三原县| 青河县| 汉寿县| 西乌珠穆沁旗|