天天看點

[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