[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException
Posted 微笑点燃希望
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException相关的知识,希望对你有一定的参考价值。
错误内容
org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near ‘= ‘553fe0583195819abb6bf1bd2f03d5f32a17f2238f9d23d6c70f67e947e43b33‘,
‘ at line 2
### The error may involve com.slabs.upload.database.mapper.AgentBillDetailDAO.batchUpdateSealIdByPrimaryKey-Inline
### The error occurred while setting parameters
### SQL: update agent_bill_detail seal_id = ?, is_send = ?, receive_time = ? where detail_id = ? ; update agent_bill_detail seal_id = ?, is_send = ?, receive_time = ? where detail_id = ?
### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘= ‘553fe0583195819abb6bf1bd2f03d5f32a17f2238f9d23d6c70f67e947e43b33‘,
‘ at line 2
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘= ‘553fe0583195819abb6bf1bd2f03d5f32a17f2238f9d23d6c70f67e947e43b33‘,
‘ at line 2
解决方法
本人连接的是mysql数据库,检查sql语法并无错误。而此处为 多条query语句,报错信息指向分号后的第二条语句。
判断可能是连接的datasource默认只允许执行单个query语句。
在连接datasource的url后面增加参数allowMultiQueries=true
url: jdbc:mysql://localhost:3306/node_seal?serverTimezone=UTC&zeroDateTimeBehavior=round&allowMultiQueries=true
以上是关于[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException的主要内容,如果未能解决你的问题,请参考以下文章
mysql+mybatis 在mybatis一个标签中,执行多条sql语句
springboot+Mybatis+MySql 一个update标签中执行多条update sql语句
springboot+Mybatis+MySql 一个update标签中执行多条update sql语句