大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 MyBatis更新獲取update記錄

MyBatis更新獲取update記錄

更新時間:2021-07-06 16:13:04 來源:動力節點 瀏覽3351次

用mybatis update記錄,更新過后想要更新記錄的id怎么辦?

平常我門都是更新數據,用更新的條件再查詢一次,得到更新的記錄。這樣我門就進行了兩次數據庫操作,鏈接了兩次數據庫。增加了接口的處理事件,因為鏈接數據庫是很耗時的操作。

簡介

其實可以通過mybatis的selectKey標簽來解決這個問題。

selectKey這個標簽大家基本上都用過,比如在插入數據的時候,返回插入數據的紀錄。如:

 <selectKey resultType="int" order="AFTER" keyProperty="id">
            SELECT LAST_INSERT_ID()
 </selectKey>
insert into  。。。。此處省略

resultType:返回的類型,為簡單類型。

order:在insert into語句執行后執行。

keyProperty:語句執行結果的返回目標屬性

SELECT LAST_INSERT_ID()為查詢主體。

此處用法用法就是當insert into執行后執行selectKey的內容將數據庫的最后一個id查詢出來映射到傳入數據對像的ID屬性。

解決獲取update紀錄的id

假設我門有個bean為people

public class People {
private Integer id 
private String name;
private String email;
...
}

現在我門寫一個更新語句,并將更新的紀錄的ID返回出來。mybatis語句如下:

通過People的name去更新People的email,并獲取被更新紀錄的id。

    <update id="updateByUserName" parameterType="com.test.bean.People">
 <selectKey keyProperty='id' resultType='int' order='BEFORE'>
            SELECT
            (select id FROM people WHERE
             name = #{name})id
            from DUAL
  </selectKey>
        UPDATE people SET
      email=#{email}
        WHERE
       name =#{name}
  </update>

上述代碼就是通過selectKey實現了通過People的name去更新People的email,并獲取被更新紀錄的id。

詳解

 <selectKey keyProperty='id' resultType='int' order='BEFORE'>

此處的 keyProperty=’id’ 是指將查詢出來的id 映射到傳入updateByUserName 的people 的id 。類型為int

因為可能查到name 以后可能會修改name 所以order=’BEFORE’ 要在執行update之前進行查詢,并把id返回出來。

SELECT
    (select id FROM people WHERE
    name = #{name})id
from DUAL 

此SELECT就是為了獲取被更新的people的id外邊包裝一個虛表查詢是當name=#{name}查詢不到紀錄時不會報空紀錄,會返回null,這個就很關鍵了。

當返回空記錄的時候mybatis會報錯,說不能轉換成int型。

當返回null的時候就會轉換成int的0。不會報錯,代表沒有查到。

下邊的的更新語句就不說了…

   UPDATE people SET
      email=#{email}
        WHERE
       name =#{name}

以上就是動力節點小編介紹的"MyBatis更新獲取update記錄",希望對大家有幫助,想了解更多可查看Mybatis基礎教程,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一区二区三区四区日韩 | 青草久| 成 人 黄 色 视频 免费观看 | 久久国产高清字幕中文 | 99爱爱| 欧美大片国产在线永久播放 | 国产亚洲欧美日韩国产片 | 夜夜骚视频| 久久久久久久综合色一本 | 国产精品亚洲精品日韩已满 | 91久久综合九色综合欧美亚洲 | 黄页在线播放网址 | 国产精品伦理一区二区三区 | 亚洲国产精品乱码一区二区三区 | 经典邵氏三级 在线观看 | 美女被羞羞在线观看 | 国产99视频精品免视看7 | 视频一区二区国产 | 丁香激情综合色伊人久久 | 狠狠躁日日躁人人爽 | 国产成人精品高清在线 | 99免费精品 | 精品99在线观看 | 久久久久久久久久久福利观看 | 亚洲一成人毛片 | 天天干天天操天天爱 | 国产高清ujzzujzz | 国产成人国产在线观看入口 | 久久麻豆亚洲精品 | 国产精品美女久久久 | 啪啪免费网站入口链接 | 色涩亚洲| 豆奶视频污 | 欧美一级一极性活片免费观看 | www成人网| 男人在线资源 | 在线观看国产精美视频 | 九九色 | 亚洲视频一二三 | 欧美日韩中文字幕在线观看 | 午夜一级|