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

mybatis報(bào)Query?was?Empty異常的問題

 更新時(shí)間:2022年03月10日 09:53:41   作者:虎哥和你一起學(xué)編程  
這篇文章主要介紹了mybatis報(bào)Query?was?Empty異常的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis報(bào)Query was Empty異常

mybatis中的<foreach>標(biāo)簽在批處理的時(shí)候經(jīng)常要使用到,而使用<foreach>避免不了的就是要對(duì)list進(jìn)行非空判斷,否則很容易出錯(cuò)。

今天我在批量插入時(shí),我的代碼是這樣的

<if test="list!=null and list.size>0>
? ?insert into tables
? ?values
? ?<foreach item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>

本以為在外面加上判斷就可以啦,但是運(yùn)行時(shí)就拋出了這個(gè)異常:Query was Empty這個(gè)異常,那么這個(gè)異常是怎么來的呢,其實(shí)就是List為空時(shí),經(jīng)過<if>標(biāo)簽的判斷,從而使的這個(gè)<insert>標(biāo)簽里面沒有內(nèi)容,所以就導(dǎo)致了這個(gè)異常:Query was Empty。

我總覺得這個(gè)東西應(yīng)該是Mybatis的缺陷,怎么每次都要對(duì)這個(gè)list進(jìn)行判斷,而且感覺判斷起來還很麻煩,希望以后對(duì)foreach標(biāo)簽會(huì)支持更好一些,用起來更爽一些。

mybatis批量更新出現(xiàn)Query was Empty

自己在檢查其他情況無誤的情況下,后臺(tái)還是給我報(bào)錯(cuò)“query was empty”,從字面 意思就是“查詢?yōu)榭?rdquo;,這里表達(dá)的不準(zhǔn)確,這里是因?yàn)槟愕膫魅氲膌ist集合是空集合,而不是查詢結(jié)果為空而引發(fā)的異常,所以我們需要對(duì)集合進(jìn)行判斷是否傳入的是有參數(shù)的集合,以免讓mybatis直接拋出一大串不友好的異常,這里記錄一下。

? ? <update id="updateFeeAndCharge" parameterType="java.util.List">
? ? ? ? <foreach collection="list" item="items" separator =";">
? ? ? ? ? ? update item set
? ? ? ? ? ? enroll1=#{items.enroll1},
? ? ? ? ? ? enroll1=#{items.enroll2},
? ? ? ? ? ? business1=#{items.business1},
? ? ? ? ? ? business2=#{items.business2}
? ? ? ? ? ? where id=#{items.id}
? ? ? ? </foreach>
? ? </update>

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

相關(guān)文章

  • 淺談java中OO的概念和設(shè)計(jì)原則(必看)

    淺談java中OO的概念和設(shè)計(jì)原則(必看)

    下面小編就為大家?guī)硪黄獪\談java中OO的概念和設(shè)計(jì)原則(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • mybatis插件實(shí)現(xiàn)自定義改寫表名實(shí)例代碼

    mybatis插件實(shí)現(xiàn)自定義改寫表名實(shí)例代碼

    在數(shù)據(jù)庫(kù)操作過程中,經(jīng)常有修改表名的需求,下面這篇文章主要給大家介紹了關(guān)于mybatis插件實(shí)現(xiàn)自定義改寫表名的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Hadoop源碼分析五hdfs架構(gòu)原理剖析

    Hadoop源碼分析五hdfs架構(gòu)原理剖析

    本篇是Hadoop源碼分析系列文章第五篇,主要介紹Hadoop的hdfs架構(gòu)原理剖析,后續(xù)本系列文章會(huì)持續(xù)更新,有需要的朋友可以借鑒參考下
    2021-09-09
  • springboot?Minio功能實(shí)現(xiàn)代碼

    springboot?Minio功能實(shí)現(xiàn)代碼

    這篇文章主要介紹了springboot?Minio功能實(shí)現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Spring Boot 3.x 全新的熱部署配置方式詳解(IntelliJ IDEA 2023.1)

    Spring Boot 3.x 全新的熱部署配置方式詳解(IntelliJ ID

    這篇文章主要介紹了Spring Boot 3.x 全新的熱部署配置方式(IntelliJ IDEA 2023.1),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • SpringBoot整合Shiro的方法詳解

    SpringBoot整合Shiro的方法詳解

    Apache?Shiro是一個(gè)java安全(權(quán)限)框架,Shiro可以非常容易的開發(fā)出足夠好的應(yīng)用,其不僅可以用在javase環(huán)境,也可以用在javaee環(huán)境。本文介紹了SpringBoot整合Shiro的方法,需要的可以參考一下
    2022-05-05
  • redisson 實(shí)現(xiàn)分布式鎖的源碼解析

    redisson 實(shí)現(xiàn)分布式鎖的源碼解析

    這篇文章主要介紹了redisson 實(shí)現(xiàn)分布式鎖的源碼解析,通過模擬一個(gè)商品秒殺的場(chǎng)景結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 在SpringBoot中使用@Value注解來設(shè)置默認(rèn)值的方法

    在SpringBoot中使用@Value注解來設(shè)置默認(rèn)值的方法

    Spring Boot提供了一種使用注解設(shè)置默認(rèn)值的方式,即使用 @Value 注解,下面這篇文章主要給大家介紹了關(guān)于如何在SpringBoot中使用@Value注解來設(shè)置默認(rèn)值的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java 基礎(chǔ)詳解(泛型、集合、IO、反射)

    Java 基礎(chǔ)詳解(泛型、集合、IO、反射)

    下面小編就為大家?guī)硪黄狫ava 基礎(chǔ)詳解(泛型、集合、IO、反射)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java?超詳細(xì)講解類的定義方式和對(duì)象的實(shí)例化

    Java?超詳細(xì)講解類的定義方式和對(duì)象的實(shí)例化

    Java是一門純面向?qū)ο蟮恼Z言(Object?Oriented?Program,繼承OOP),在面對(duì)對(duì)象的世界里面,一切皆為對(duì)象。面向?qū)ο笫墙鉀Q問題的一種思想,主要依靠對(duì)象之間的交互完成一件事情
    2022-03-03

最新評(píng)論

桃源县| 哈巴河县| 滁州市| 监利县| 阳东县| 辽阳县| 晋宁县| 南陵县| 南雄市| 聂荣县| 昌吉市| 吉林市| 奉新县| 沂水县| 乌拉特前旗| 开阳县| 呼图壁县| 武平县| 清镇市| 华阴市| 河西区| 铜陵市| 合川市| 宝丰县| 上栗县| 莱阳市| 信阳市| 湛江市| 张家港市| 钟祥市| 哈尔滨市| 东安县| 胶南市| 吴桥县| 宁陕县| 信阳市| 文安县| 灌阳县| 乌海市| 儋州市| 射阳县|