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

mybatis插入數(shù)據(jù)后如何返回新增數(shù)據(jù)的id值

 更新時(shí)間:2022年06月14日 09:17:24   作者:LC超人在良家  
當(dāng)往mysql數(shù)據(jù)庫(kù)插入一條數(shù)據(jù)時(shí),有時(shí)候需要知道剛插入的信息,下面這篇文章主要給大家介紹了關(guān)于mybatis插入數(shù)據(jù)后如何返回新增數(shù)據(jù)id值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1、自增主鍵情況下插入數(shù)據(jù)獲取自增主鍵值

mybatis為我們提供了一個(gè)方法,能夠插入數(shù)據(jù)時(shí)獲取自動(dòng)生成的值,并且把取的值賦值給實(shí)體類的某一屬性

設(shè)置方法:

要求:主鍵必須是自增的

<insert id = "insert" useGeneratedKeys = "true" keyProperty = "id">
? ? SQL語(yǔ)句
</insert>

useGeneratedKeys = true  //是否返回自增主鍵值

keyProperty = “xxx”  //將值賦給哪個(gè)屬性,這個(gè)屬性是方法參數(shù)中的

此時(shí)就是插入數(shù)據(jù)的實(shí)體類點(diǎn).getId()可以得到

2、主鍵非自增的情況下獲取主鍵值

一般我們使用來實(shí)現(xiàn)。一個(gè)塊中只能有一個(gè)

下面我們了解一下selectKey中的屬性

resultType:這個(gè)我們就不用解釋了,返回類型

order:它有兩個(gè)取值:1、BEFORE在添加之前查詢 2、AFTER在添加之后查詢  //這兩個(gè)都是全大寫

keyProperty:將取值賦值給方法參數(shù),如果方法參數(shù)是實(shí)體類,一般賦值給實(shí)體類的字段

keyColumn:對(duì)應(yīng)表的列名

一個(gè)selectKey中必須要有 resultType,order,keyProperty

after示例:查詢最后一次添加的主鍵

<insert id = "insertEmp">
    <selectKey resultType = "integer" order = "AFTER" keyProperty = "eid" >
            select last_insert_id()    //查詢最后一次添加的主鍵,mysql函數(shù)
    </selectKey>
    insert into dept(id,deptname) values(#{id},#{deptname})
</insert>

before示例:假設(shè)Id不是自增長(zhǎng),我們希望在insert之前獲取mysql的UUID添加到數(shù)據(jù)表作為主鍵Id

<insert id = "insertDept">
    <selectKey resultType = "string" order = "BEFORE" keyProperty = "id">
        select uuid() as id
    </selectKey>
    insert into dept(id,name) values(#{id},#{name})
</insert>

3、keyColumn作用

問題定義:有時(shí)候我們希望keyProperty返回的個(gè)數(shù)超過1的時(shí)候,能不能插入數(shù)據(jù)的時(shí)候返回多個(gè)值

1、把selectKey的結(jié)果賦值給keyProperty的各個(gè)屬性

2、賦值規(guī)則:keyProperty和keColumn的列數(shù)相對(duì)應(yīng):1對(duì)1,2對(duì)2…

<insert id="xxx">
        <selectKey resultType="com.entity.Dept" order="BEFORE" keyProperty="id,name" keyColumn="cid,cname">
            select cid,cname from Category limit 1;
        </selectKey>
        insert into dept(id,name) values (#{id},#{name})
    </insert>
<!--    代碼解釋:從Category中查詢出cid,cname 賦值在方法參數(shù)中,然后添加到dept表-->

總結(jié)

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

相關(guān)文章

  • Java Annotation注解相關(guān)原理代碼總結(jié)

    Java Annotation注解相關(guān)原理代碼總結(jié)

    這篇文章主要介紹了Java Annotation注解相關(guān)原理代碼總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 淺析Java中String與StringBuffer拼接的區(qū)別

    淺析Java中String與StringBuffer拼接的區(qū)別

    String拼接會(huì)創(chuàng)建一個(gè)新的String對(duì)象,存儲(chǔ)拼接后的字符串,StringBuffer拼接是直接在本身拼接,會(huì)即時(shí)刷新。下面通過本文給大家介紹Java中String與StringBuffer拼接的區(qū)別,感興趣的朋友一起看看吧
    2017-06-06
  • feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式

    feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式

    這篇文章主要介紹了feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Javaweb接收表單數(shù)據(jù)并處理中文亂碼

    Javaweb接收表單數(shù)據(jù)并處理中文亂碼

    這篇文章主要介紹了Javaweb接收表單數(shù)據(jù)并處理中文亂碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot HTTP 400排查方式

    SpringBoot HTTP 400排查方式

    這篇文章主要介紹了SpringBoot HTTP 400排查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    Spring Boot應(yīng)用配置常用相關(guān)視圖解析器詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用配置常用相關(guān)視圖解析器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException

    Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException

    這篇文章主要為大家介紹了Maven項(xiàng)目引用第三方j(luò)ar包找不到類ClassNotFoundException解決及原因分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • java實(shí)現(xiàn)CSV文件導(dǎo)入與導(dǎo)出功能

    java實(shí)現(xiàn)CSV文件導(dǎo)入與導(dǎo)出功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)CSV文件導(dǎo)入與導(dǎo)出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Spring Boot集成Thymeleaf模板引擎的完整步驟

    Spring Boot集成Thymeleaf模板引擎的完整步驟

    這篇文章主要給大家介紹了關(guān)于Spring Boot集成Thymeleaf模板引擎的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • SpringBoot多環(huán)境配置及配置文件分類實(shí)例詳解

    SpringBoot多環(huán)境配置及配置文件分類實(shí)例詳解

    這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10

最新評(píng)論