欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis報Query?was?Empty異常的問題

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

mybatis報Query was Empty異常

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

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

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

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

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

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

自己在檢查其他情況無誤的情況下,后臺還是給我報錯“query was empty”,從字面 意思就是“查詢?yōu)榭?rdquo;,這里表達(dá)的不準(zhǔn)確,這里是因為你的傳入的list集合是空集合,而不是查詢結(jié)果為空而引發(fā)的異常,所以我們需要對集合進(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>

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

相關(guān)文章

  • Java使用阿里云接口進(jìn)行身份證實名認(rèn)證的示例實現(xiàn)

    Java使用阿里云接口進(jìn)行身份證實名認(rèn)證的示例實現(xiàn)

    這篇文章主要介紹了使用阿里云接口進(jìn)行身份證實名認(rèn)證的示例實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • IDEA版最新MyBatis程序配置教程詳解

    IDEA版最新MyBatis程序配置教程詳解

    這篇文章主要介紹了IDEA版最新MyBatis程序配置教程詳解,需要的朋友可以參考下
    2020-07-07
  • Java編程實現(xiàn)對十六進(jìn)制字符串異或運算代碼示例

    Java編程實現(xiàn)對十六進(jìn)制字符串異或運算代碼示例

    這篇文章主要介紹了Java編程實現(xiàn)對十六進(jìn)制字符串異或運算代碼示例,簡述了異或運算以及具體實例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • maven模塊化開發(fā)部署實現(xiàn)方案

    maven模塊化開發(fā)部署實現(xiàn)方案

    有些用戶有定制化需求,需要添加新的模塊功能,因此需要平臺主體功能迭代的同時,非主體功能和定制化功能插件化,本文給大家介紹maven模塊化開發(fā)部署實現(xiàn)方案,感興趣的朋友一起看看吧
    2024-01-01
  • Java Big Number操作BigInteger及BigDecimal類詳解

    Java Big Number操作BigInteger及BigDecimal類詳解

    這篇文章主要為大家介紹了Java Big Number操作BigInteger及BigDecimal類詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java SQL注入案例教程及html基礎(chǔ)入門

    Java SQL注入案例教程及html基礎(chǔ)入門

    這篇文章主要介紹了前端開發(fā)每天必學(xué)之SQL及HTML入門基礎(chǔ)知識,介紹了學(xué)習(xí)web前端開發(fā)需要掌握的基礎(chǔ)技術(shù),感興趣的小伙伴們可以參考一下
    2021-07-07
  • 為什么JDK8中HashMap依然會死循環(huán)

    為什么JDK8中HashMap依然會死循環(huán)

    這篇文章主要介紹了為什么JDK8中HashMap依然會死循環(huán),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring和MyBatis整合自動生成代碼里面text類型遇到的坑

    Spring和MyBatis整合自動生成代碼里面text類型遇到的坑

    Spring和MyBatis整合以后,使用自動生成代碼工具生成dao和mapper配置文件。下面通過本文給大家介紹Spring和MyBatis整合自動生成代碼里面text類型遇到的坑,需要的朋友參考下吧
    2018-01-01
  • 使用?EasyCode生成springboot+mybatis基礎(chǔ)程序的實現(xiàn)示例

    使用?EasyCode生成springboot+mybatis基礎(chǔ)程序的實現(xiàn)示例

    本文主要介紹了使用?EasyCode生成springboot+mybatis基礎(chǔ)程序的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • java開發(fā)web前端cookie session及token會話機(jī)制詳解

    java開發(fā)web前端cookie session及token會話機(jī)制詳解

    如果把人體比作一個web系統(tǒng)的話,cookie、session和token就好像人體的經(jīng)絡(luò)和血管一樣,而web系統(tǒng)中的數(shù)據(jù),就好像人體的血液一樣。血液依靠著血管在人體內(nèi)流動,就如數(shù)據(jù)根據(jù)cookie和session機(jī)制在web系統(tǒng)中流動一樣
    2021-10-10

最新評論