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

Mybatis使用foreach批量插入Oracle提示命令未正確結(jié)束方式

 更新時(shí)間:2025年11月11日 08:37:55   作者:Funky_oaNiu  
文章主要討論了在Oracle和MySQL中使用foreach標(biāo)簽時(shí)的語法差異,以及foreach元素的屬性介紹,包括item、index、collection、open、separator和close等

錯(cuò)誤代碼

<insert id="multiInsertTest" parameterType="java.util.List">
		INSERT INTO TEST_NWD (ID, NUM) 
		VALUES
		<foreach collection ="testList" item="test" separator ="UNION ALL">
				(#{test.ID}, #{test.NUM})
		</foreach >
	</insert>

這樣會(huì)執(zhí)行:

INSERT INTO TEST_NWD (ID, NUM)  VALUES (?,?) ,(?,?)

Oracle是不支持這種語法的,會(huì)提示SQL命令未正確結(jié)束,MySQL是支持的。

正確代碼

<insert id="multiInsertTest" parameterType="java.util.List">
		INSERT INTO TEST_NWD (ID, NUM)
		<foreach collection ="testList" item="test" separator ="UNION ALL">
			SELECT
				#{test.ID}, #{test.NUM}
			FROM dual
		</foreach >
	</insert>

1、 將VALUES去掉

2、 foreach標(biāo)簽內(nèi)的()去掉,使用select … from dual

3、 separator =","改為separator=“UNION ALL”

foreach標(biāo)簽的屬性介紹

foreach元素的屬性主要有item,index,collection,open,separator,close。 

  • item:集合中元素迭代時(shí)的別名,該參數(shù)為必選。 
  • index:在list和數(shù)組中,index是元素的序號(hào),在map中,index是元素的key,該參數(shù)可選 
  • open:foreach代碼的開始符號(hào),一般是(和close=")“合用。常用在in(),values()時(shí)。該參數(shù)可選 
  • separator:元素之間的分隔符,例如在in()的時(shí)候,separator=”,“會(huì)自動(dòng)在元素中間用“,“隔開,避免手動(dòng)輸入逗號(hào)導(dǎo)致sql錯(cuò)誤,如in(1,2,)這樣。該參數(shù)可選。 
  • close: foreach代碼的關(guān)閉符號(hào),一般是)和open=”("合用。常用在in(),values()時(shí)。該參數(shù)可選。 
  • collection: 要做foreach的對(duì)象,作為入?yún)r(shí),List對(duì)象默認(rèn)用"list"代替作為鍵,數(shù)組對(duì)象有"array"代替作為鍵,Map對(duì)象沒有默認(rèn)的鍵。當(dāng)然在作為入?yún)r(shí)可以使用@Param(“keyName”)來設(shè)置鍵,設(shè)置keyName后,list,array將會(huì)失效。 除了入?yún)⑦@種情況外,還有一種作為參數(shù)對(duì)象的某個(gè)字段的時(shí)候。舉個(gè)例子:如果User有屬性List ids。入?yún)⑹荱ser對(duì)象,那么這個(gè)collection = “ids”.如果User有屬性Ids ids;其中Ids是個(gè)對(duì)象,Ids有個(gè)屬性List id;入?yún)⑹荱ser對(duì)象,那么collection = “ids.id”

總結(jié)

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

相關(guān)文章

  • 詳解Java?Unsafe如何花式操作內(nèi)存

    詳解Java?Unsafe如何花式操作內(nèi)存

    C++可以動(dòng)態(tài)的分類內(nèi)存,而java并不能這樣,是不是java就不能操作內(nèi)存呢,其實(shí)是有其他辦法可以操作內(nèi)存的,下面就一起看看Unsafe是如何花式操作內(nèi)存的吧
    2023-08-08
  • 利用Java實(shí)現(xiàn)圖片馬賽克效果

    利用Java實(shí)現(xiàn)圖片馬賽克效果

    馬賽克效果是一種常見的圖像處理技術(shù),通過將圖像劃分為多個(gè)小塊并對(duì)每個(gè)小塊進(jìn)行平均色處理,模擬馬賽克的效果,在本項(xiàng)目中,我們將使用Java的Swing庫和圖像處理技術(shù)來實(shí)現(xiàn)圖片的馬賽克特效,需要的朋友可以參考下
    2025-02-02
  • SpringBoot應(yīng)用程序啟動(dòng)監(jiān)聽功能的常見方法

    SpringBoot應(yīng)用程序啟動(dòng)監(jiān)聽功能的常見方法

    應(yīng)用啟動(dòng)監(jiān)聽在?Spring?Boot?和其他框架中扮演著重要的角色,它們的主要作用是在應(yīng)用啟動(dòng)或關(guān)閉時(shí)觸發(fā)特定的操作或任務(wù),本文給大家介紹了SpringBoot應(yīng)用程序啟動(dòng)監(jiān)聽功能的常見方法,需要的朋友可以參考下
    2024-05-05
  • 用Java實(shí)現(xiàn)小球碰壁反彈的簡(jiǎn)單實(shí)例(算法十分簡(jiǎn)單)

    用Java實(shí)現(xiàn)小球碰壁反彈的簡(jiǎn)單實(shí)例(算法十分簡(jiǎn)單)

    下面小編就為大家?guī)硪黄肑ava實(shí)現(xiàn)小球碰壁反彈的簡(jiǎn)單實(shí)例(算法十分簡(jiǎn)單)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • Java簡(jiǎn)單實(shí)現(xiàn)動(dòng)態(tài)代理模式過程解析

    Java簡(jiǎn)單實(shí)現(xiàn)動(dòng)態(tài)代理模式過程解析

    這篇文章主要介紹了Java動(dòng)態(tài)代理模式簡(jiǎn)單案例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Springboot解決ajax+自定義headers的跨域請(qǐng)求問題

    Springboot解決ajax+自定義headers的跨域請(qǐng)求問題

    由于瀏覽器同源策略(同源策略,它是由Netscape提出的一個(gè)著名的安全策略,現(xiàn)在所有支持JavaScript 的瀏覽器都會(huì)使用這個(gè)策略。接下來通過本文給大家介紹Springboot如何優(yōu)雅的解決ajax+自定義headers的跨域請(qǐng)求 ,需要的朋友可以參考下
    2019-05-05
  • Spring中的@ConfigurationProperties詳解

    Spring中的@ConfigurationProperties詳解

    這篇文章主要介紹了Spring中的@ConfigurationProperties詳解,ConfigurationProperties注解主要用于將外部配置文件配置的屬性填充到這個(gè)Spring Bean實(shí)例中,需要的朋友可以參考下
    2023-09-09
  • MyBatis中的resultMap簡(jiǎn)要概述

    MyBatis中的resultMap簡(jiǎn)要概述

    這篇文章主要介紹了MyBatis中的resultMap簡(jiǎn)要概述的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Java類加載器之ContextClassLoader詳解

    Java類加載器之ContextClassLoader詳解

    這篇文章主要介紹了Java類加載器之ContextClassLoader詳解,ContextClassLoader是一種與線程相關(guān)的類加載器,類似ThreadLocal,每個(gè)線程對(duì)應(yīng)一個(gè)上下文類加載器,需要的朋友可以參考下
    2023-10-10
  • IntelliJ IDEA下載GitHub私有倉(cāng)庫到本地的方法(新版)

    IntelliJ IDEA下載GitHub私有倉(cāng)庫到本地的方法(新版)

    這篇文章主要介紹了IntelliJ IDEA下載GitHub私有倉(cāng)庫到本地(新版),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

台前县| 余姚市| 淳安县| 宝鸡市| 古交市| 临邑县| 万源市| 疏附县| 祁门县| 华池县| 凤台县| 静安区| 南投市| 德清县| 秭归县| 丰顺县| 马龙县| 高雄市| 前郭尔| 兴山县| 萨迦县| 新竹市| 迭部县| 永宁县| 嘉黎县| 萝北县| 京山县| 息烽县| 新建县| 神农架林区| 万山特区| 全南县| 怀集县| 济宁市| 鄄城县| 双城市| 洱源县| 宿松县| 镇远县| 朝阳市| 手机|