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

mybatis批量插入返回主鍵失敗的坑及解決

 更新時間:2023年11月03日 10:37:20   作者:軟件宮城獅  
這篇文章主要介紹了mybatis批量插入返回主鍵失敗的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

批量插入返現(xiàn)沒有返回主鍵 

關(guān)鍵點(diǎn)

foreach里的collection必須是list,不然就會報錯。

返回主鍵的標(biāo)簽

關(guān)于返回主鍵ID,需要在insert標(biāo)簽中添加,useGeneratedKeys=“true” keyProperty=“id”,useGeneratedKeys和keyProperty必須配合使用,keyProperty的字段就是返回的主鍵ID

mybatis3.3.1及以上的版本,才支持批量插入返回主鍵ID

mybatis批量新增之主鍵回寫

正常批量新增比較簡單 :

寫個例子

<insert id="batchInsert" parameterType="list" useGeneratedKeys="true" keyProperty="id">
    INSERT INTO `x'x'x` (
    `xx`,
    `xxx`
    )
    VALUES
    <foreach collection="list" item="item" separator=",">
        (
        #{item.xx},
        #{item.xxx}
        )
    </foreach>
</insert>

注: useGeneratedKeys=“true” keyProperty=“id” 這個是為了回寫id的.

以前基本上沒有需要用到回寫id的地方,但是今天需要用到了.

但是一開始并沒有給我回寫主鍵.

原因就在于我的collection=“這里寫的不是list,而是xxList”.

我的mapper里面寫的是@param(“xxList”); 多個參數(shù)時需要使用這個注解指定.

這樣執(zhí)行是不會報錯的.但是id就是不會回寫.

再回頭, 這里應(yīng)該是一個映射的概念, 以前應(yīng)該是想錯了.

待我查閱了一些資料之后,我認(rèn)為,這個collection,應(yīng)該不是用來指定你在mapper里面?zhèn)魅氲氖裁磪?shù)的.

而是指定這個集合的類型是什么? 比如: list,set,map這樣的類型.

而當(dāng)我寫成這樣時 : collection=“list” @Param(“list”).

id就給我回寫了.而當(dāng)我傳入的參數(shù)不止一個時,我依舊可以使用@Param進(jìn)行正常定義.但是是一個對象,一個String,我沒有試過傳入兩個對象的,而且我認(rèn)為,無論需要什么字段,一個對象就可以搞定,我傳入兩個參數(shù),只是做一次嘗試.如果只是一個對象的話,甚至都不需要用@Param.id也是會回寫的.

但是 collection="list"這個是一定要這樣寫的.不然會報錯

要么全部成功,要么全部失敗,使用int去接收返回值,會接收到新增的條數(shù)的.

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8即為JDK8,JDK8是目前是最成熟最穩(wěn)定的版本,本文將詳細(xì)介紹JDK1.8的安裝與配置,需要的朋友可以參考下
    2023-03-03
  • Java Swing中的文本區(qū)(JTextArea)實(shí)現(xiàn)換行保存到文件的幾個方法

    Java Swing中的文本區(qū)(JTextArea)實(shí)現(xiàn)換行保存到文件的幾個方法

    這篇文章主要介紹了Java Swing中的文本區(qū)(JTextArea)實(shí)現(xiàn)換行保存到文件的幾個方法,本文給出了4種方法,需要的朋友可以參考下
    2014-10-10
  • 詳解java如何解析和生成sql

    詳解java如何解析和生成sql

    JSQLParser?是一個開源的?Java?庫,用于解析?SQL?語句并將其轉(zhuǎn)換為抽象語法樹,下面我們就來看看java是如何使用JSQLParser解析和生成sql的吧
    2024-12-12
  • IDEA中java斷言assert語法及使用

    IDEA中java斷言assert語法及使用

    這篇文章主要介紹了IDEA中java斷言assert語法詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • java項(xiàng)目中常用指標(biāo)UV?PV?QPS?TPS含義以及統(tǒng)計(jì)方法

    java項(xiàng)目中常用指標(biāo)UV?PV?QPS?TPS含義以及統(tǒng)計(jì)方法

    文章介紹了現(xiàn)代Web應(yīng)用中性能監(jiān)控和分析的重要性,涵蓋了UV、PV、QPS、TPS等關(guān)鍵指標(biāo)的統(tǒng)計(jì)方法,并提供了示例代碼,同時,文章還討論了性能優(yōu)化和瓶頸分析的策略,以及使用Grafana等可視化工具進(jìn)行監(jiān)控與告警的重要性
    2025-01-01
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(49)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(49)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • Java中的對象和引用詳解

    Java中的對象和引用詳解

    這篇文章主要介紹了Java中的對象和引用詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java基于iText7實(shí)現(xiàn)PDF添加通用文本水印的示例詳解

    Java基于iText7實(shí)現(xiàn)PDF添加通用文本水印的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Java基于iText7實(shí)現(xiàn)PDF添加通用文本水印的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-02-02
  • JPA配置詳解之jpaProperties用法

    JPA配置詳解之jpaProperties用法

    這篇文章主要介紹了JPA配置詳解之jpaProperties用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java?斷言?assert的用法詳解

    Java?斷言?assert的用法詳解

    Java?assert斷言機(jī)制是Java5中推出的新特性,它主要用于在程序運(yùn)行時檢查狀態(tài)或假設(shè)的正確性,本篇文章將全面詳細(xì)地講解Java?assert斷言機(jī)制,包括斷言概述、語法規(guī)則、工作原理、使用場景、注意事項(xiàng)以及示例代碼等方面,需要的朋友可以參考下
    2023-05-05

最新評論

当雄县| 上杭县| 涞源县| 长沙县| 漠河县| 华蓥市| 晋江市| 中西区| 阿荣旗| 双鸭山市| 桐城市| 海兴县| 准格尔旗| 太康县| 龙川县| 长宁区| 竹北市| 河池市| 将乐县| 阿合奇县| 炉霍县| 井冈山市| 屏南县| 临沧市| 郑州市| 任丘市| 榕江县| 无为县| 敦煌市| 安庆市| 清原| 柘荣县| 开阳县| 布尔津县| 平潭县| 诏安县| 武冈市| 霍城县| 垣曲县| 闸北区| 西平县|