Mybatis批量修改時(shí)出現(xiàn)報(bào)錯(cuò)問(wè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批量修改時(shí)報(bào)錯(cuò),錯(cuò)誤為sql語(yǔ)句錯(cuò)誤:
開(kāi)始檢查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>
感覺(jué)并沒(méi)有錯(cuò)誤,把錯(cuò)誤語(yǔ)句復(fù)制到Navicat上能正常運(yùn)行,于是網(wǎng)上查找了一下需要在url語(yǔ)句中添加allowMultiQueries=true,添加后成功運(yùn)行。
Mysql中allowMultiQueries=true作用:
1.可以在sql語(yǔ)句后攜帶分號(hào),實(shí)現(xiàn)多語(yǔ)句執(zhí)行。
2.可以執(zhí)行批處理,同時(shí)發(fā)出多個(gè)SQL語(yǔ)句
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Window7安裝MariaDB數(shù)據(jù)庫(kù)及系統(tǒng)初始化操作分析2. Centos7 下mysql重新啟動(dòng)MariaDB篇3. SQLite教程(二):C/C++接口簡(jiǎn)介4. SQLite學(xué)習(xí)手冊(cè)(SQLite在線備份)5. SQLite3 命令行操作指南6. SQLite教程(十二):鎖和并發(fā)控制詳解7. MariaDB數(shù)據(jù)庫(kù)的外鍵約束實(shí)例詳解8. MariaDB的安裝與配置教程9. SQLite 性能優(yōu)化實(shí)例分享10. centos 7安裝mysql5.5和安裝 mariadb使用的命令
