Mybatis批量修改時出現(xiàn)報錯問題解決方案
批量修改代碼如下
<update parameterType='java.util.List'> <foreach collection='list' item='item' index='index' separator=';'> UPDATE VST_HOTEL_REAL_TIME_PRICE <set><if test='item.realTimePrice1 != null'> REAL_TIME_PRICE1 = #{item.realTimePrice1},</if><if test='item.realTimePrice2 != null'> REAL_TIME_PRICE2 = #{item.realTimePrice2},</if><if test='item.realTimeRemain1 != null'> REAL_TIME_REMAIN1 = #{item.realTimeRemain1},</if><if test='item.realTimeRemain2 != null'> REAL_TIME_REMAIN2 = #{item.realTimeRemain2},</if>UPDATE_TIME = NOW() </set> WHERE PRODUCT_ID = ${item.productId} </foreach> </update>
今天在使用mybatis批量修改時報錯,錯誤為sql語句錯誤:
開始檢查xml中代碼:
<update parameterType='list'> <foreach collection='list' item='type' index='index' separator=';'> UPDATE t_type <set><if test='type.name != null'> t_name = #{type.name}</if> </set> where t_id = #{type.id} </foreach> </update>
感覺并沒有錯誤,把錯誤語句復制到Navicat上能正常運行,于是網(wǎng)上查找了一下需要在url語句中添加allowMultiQueries=true,添加后成功運行。
Mysql中allowMultiQueries=true作用:
1.可以在sql語句后攜帶分號,實現(xiàn)多語句執(zhí)行。
2.可以執(zhí)行批處理,同時發(fā)出多個SQL語句
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. DB2數(shù)據(jù)庫更新執(zhí)行計劃的幾個常見的方法2. Oracle DBA優(yōu)化數(shù)據(jù)庫性能心得體會3. ORACLE回滾段表空間數(shù)據(jù)文件丟失或損壞處理方法4. MySQL 普通索引和唯一索引的區(qū)別詳解5. 影響SQL server性能的關鍵三個方面 6. MySQL存儲過程例子(包含事務、參數(shù)、嵌套調(diào)用、游標循環(huán)等)7. 淺談MySQL之select優(yōu)化方案8. 一文帶你學會Mysql表批量添加字段9. Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全10. Oracle rac環(huán)境的數(shù)據(jù)庫導入操作步驟
