Mybatis批量操作org.springframework.jdbc.BadSqlGrammarException異常問題


現象:批量操作的mapper映射文件形如

<!-- 測試執行多行語句 -->
<update id="updateLogs">
  UPDATE `sys_log` SET `symbol` = '測試模塊1' WHERE `log_id` = '02c821e3b61bd0199e162b4e3a60275a';
  UPDATE `sys_log` SET `symbol` = '測試模塊2' WHERE `log_id` = '09ef12e0072136b822e1e6265d139c8c';
  UPDATE `sys_log` SET `symbol` = '測試模塊3' WHERE `log_id` = '17f8f203b2d834d8b6b500a46d9a9643';
</update>

分析:細看配置文件,也沒發現有啥問題,把配置文件中的sql語句拿到mysql中執行也沒問題,但是就是在程序執行到這里的時候,拋出org.springframework.jdbc.BadSqlGrammarException異常,這種問題不太好定位,只能猜測是Mybatis框架對批量操作有特殊要求。

方案:經過查閱得出,用Mybatis批量操作必須加上參數&allowMultiQueries=true(參數的含義:可以在sql語句后攜帶分號,實現多語句執行;可以執行批處理,同時發出多個SQL語句,這樣問題就解決了。


免責聲明!

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



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