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

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

 更新時(shí)間:2025年11月11日 08:37:55   作者:Funky_oaNiu  
文章主要討論了在Oracle和MySQL中使用foreach標(biāo)簽時(shí)的語(yǔ)法差異,以及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是不支持這種語(yǔ)法的,會(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代碼的開(kāi)始符號(hào),一般是(和close=")“合用。常用在in(),values()時(shí)。該參數(shù)可選 
  • separator:元素之間的分隔符,例如在in()的時(shí)候,separator=”,“會(huì)自動(dòng)在元素中間用“,“隔開(kāi),避免手動(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ì)象沒(méi)有默認(rèn)的鍵。當(dāng)然在作為入?yún)r(shí)可以使用@Param(“keyName”)來(lái)設(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)圖片馬賽克效果

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

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

    應(yīng)用啟動(dòng)監(jiān)聽(tīng)在?Spring?Boot?和其他框架中扮演著重要的角色,它們的主要作用是在應(yīng)用啟動(dòng)或關(guān)閉時(shí)觸發(fā)特定的操作或任務(wù),本文給大家介紹了SpringBoot應(yīng)用程序啟動(dòng)監(jiān)聽(tī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ī)?lái)一篇用Java實(shí)現(xiàn)小球碰壁反彈的簡(jiǎn)單實(shí)例(算法十分簡(jiǎn)單)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • Java簡(jiǎn)單實(shí)現(xiàn)動(dòng)態(tài)代理模式過(guò)程解析

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

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

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

    由于瀏覽器同源策略(同源策略,它是由Netscape提出的一個(gè)著名的安全策略,現(xiàn)在所有支持JavaScript 的瀏覽器都會(huì)使用這個(gè)策略。接下來(lái)通過(guò)本文給大家介紹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)庫(kù)到本地的方法(新版)

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

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

最新評(píng)論

香河县| 天峨县| 连山| 绩溪县| 彩票| 亚东县| 施秉县| 南陵县| 根河市| 山西省| 涿州市| 罗源县| 乐安县| 玉环县| 华宁县| 江华| 五原县| 方城县| 万源市| 灵武市| 普兰县| 罗定市| 涿鹿县| 耿马| 浑源县| 留坝县| 石家庄市| 惠安县| 东宁县| 西和县| 京山县| 阿尔山市| 顺平县| 珲春市| 泽库县| 武强县| 山丹县| 晋州市| 阳春市| 图片| 锡林浩特市|