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

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

 更新時(shí)間:2022年03月10日 09:53:41   作者:虎哥和你一起學(xué)編程  
這篇文章主要介紹了mybatis報(bào)Query?was?Empty異常的問(wèn)題,具有很好的參考價(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è)異常是怎么來(lái)的呢,其實(shí)就是List為空時(shí),經(jīng)過(guò)<if>標(biāo)簽的判斷,從而使的這個(gè)<insert>標(biāo)簽里面沒(méi)有內(nèi)容,所以就導(dǎo)致了這個(gè)異常:Query was Empty。

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

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

自己在檢查其他情況無(wú)誤的情況下,后臺(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)文章

最新評(píng)論