1. 程式人生 > >mybatis報Query was Empty異常

mybatis報Query was Empty異常

    mybatis中的<foreach>標籤在批處理的時候經常要使用到,而使用<foreach>避免不了的就是要對list進行非空判斷,否則很容易出錯。

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

<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為空時,經過<if>標籤的判斷,從而使的這個<insert>標籤裡面沒有內容,所以就導致了這個異常:Query was Empty。

  我總覺得這個東西應該是Mybatis的缺陷,怎麼每次都要對這個list進行判斷,而且感覺判斷起來還很麻煩,希望以後對foreach標籤胡支援更好一些,用起來更爽一些。