Mybatis 批量更新 ORA-00911: 無效字符的錯誤


使用<foreach></foreach> 批量insert時報錯 ORA-00911: 無效字符的錯誤

<foreach collection="list" item="item" index="index" separator=";">
    insert into table1 (column1) values (#{item.num})
</foreach>

Mybatis 會打印的sql語句如下,並且報錯

insert into table1(column1) values (11) ; insert table1(column1) values (12)

上述語句是合法的SQL語句,並且放到SQL工具中可以執行。****錯誤的原因是Mybatis不能識別這是批量操作的2條語句,緊靠;號不能完成*******

解決辦法: 增加foreach節點的操作符

使用如下設置

<foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">

</foreach>

 

新打印的SQL將會如下所示:

begin insert into table1(column1) values (11) ; insert table1(column1) values (12) ;end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM