zoukankan      html  css  js  c++  java
  • 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语句,这样问题就解决了。

  • 相关阅读:
    事务隔离级别
    手机摄影之生活拍照技巧
    html.unescape(s)
    正则表达式编译和DOTALL小结
    重试模块==>retrying
    js逆向==>js2py
    mysql索引设计原则
    Django请求与响应
    Linux常用命令
    C++11 auto_ptr 的问题
  • 原文地址:https://www.cnblogs.com/54hsh/p/13082711.html
Copyright © 2011-2022 走看看