Mybatis使用foreach批量更新數(shù)據(jù)報無效字符錯誤問題
更新時間:2024年08月19日 10:44:31 作者:MiracleSang
這篇文章主要介紹了Mybatis使用foreach批量更新數(shù)據(jù)報無效字符錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
使用foreach批量更新數(shù)據(jù)報無效字符錯誤
改動前
<update id="updateByECBoxIdBatch" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close=";" separator=";">
update EC_ENTRUST_BOX
set REALMONEY = #{item.money,jdbcType=DECIMAL}
where BOX_ID = #{item.boxId,jdbcType=VARCHAR}
and ENTRUST_MONEY_ID = #{item.ecEntrustMoneyId,jdbcType=VARCHAR}
</foreach>
</update>后臺執(zhí)行的SQL:
update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ; update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ; update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ;
報錯:無效字符
改動后:(加了begin,end)
<update id="updateByECBoxIdBatch" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
update EC_ENTRUST_BOX
set REALMONEY = #{item.money,jdbcType=DECIMAL}
where BOX_ID = #{item.boxId,jdbcType=VARCHAR}
and ENTRUST_MONEY_ID = #{item.ecEntrustMoneyId,jdbcType=VARCHAR}
</foreach>
</update>后臺執(zhí)行的SQL:
begin update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ; update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ; update EC_ENTRUST_BOX set REALMONEY = ? where BOX_ID = ? and ENTRUST_MONEY_ID = ? ;end;
正常執(zhí)行~~~~~~~~
Mybatis報“無效字符”的錯的原因
mybatis報ORA-00911: 無效字符。
原因是
在mapper配置中有“;”
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot項目中沒有識別到y(tǒng)ml文件解決辦法
這篇文章主要給大家介紹了springboot項目中沒有識別到y(tǒng)ml文件解決辦法,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01
解讀SpringBoot為什么要用DeferredImportSelector
這篇文章主要介紹了SpringBoot為什么要用DeferredImportSelector的情況,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
淺談idea live template高級知識_進(jìn)階(給方法,類,js方法添加注釋)
下面小編就為大家?guī)硪黄獪\談idea live template高級知識_進(jìn)階(給方法,類,js方法添加注釋)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
零基礎(chǔ)后端入門之JDK21?+?PostgreSQL+Java項目實操指南
后端開發(fā)是指開發(fā)基于服務(wù)器端的軟件應(yīng)用程序,也稱為系統(tǒng)的后臺或服務(wù)器端編程,后端程序員負(fù)責(zé)處理網(wǎng)站或應(yīng)用程序后臺的邏輯和功能,這篇文章主要介紹了零基礎(chǔ)后端入門之JDK21+PostgreSQL+Java項目實操的相關(guān)資料,需要的朋友可以參考下2026-05-05
Springmvc DispatcherServlet原理及用法解析
這篇文章主要介紹了Springmvc DispatcherServlet原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09

