Mybatis 报错 The error may involve cn.changemax.dao.FilmInfoDAO.batchUpdate-Inline

怼烎@ 2021-10-09 08:00 717阅读 0赞

一、错误主题:

2020-02-07 22:37:43.596 ERROR 12612 —- [ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task

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 ‘UPDATE t_film_info
SET modify_time = now()
WHERE
‘ at line 6
### The error may involve cn.changemax.dao.FilmInfoDAO.batchUpdate-Inline
### The error occurred while setting parameters
### SQL: UPDATE t_film_info SET modify_time = now() WHERE film_id = ? ; UPDATE t_film_info SET modify_time = now() WHERE film_id = ? ; UPDATE t_film_info SET modify_time = now() WHERE film_id = ? ; UPDATE t_film_info SET modify_time = now() WHERE film_id = ? t_film_info SET modify_time = now() WHERE film_id = ?

二、笔者发现什么代码也没改,突然sql执行错误了。还报语法错误,关键我还把这个sql拿去数据库中执行了,反而执行成功了。

思虑再三发现:是在配置文件中关闭了一次执行多条sql的配置。

20200207230026913.png

改为如下:

  1. url: jdbc:mysql://127.0.0.1:3306/xxxxxxxxxxxx?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC

核心在于参数:allowMultiQueries=true

发表评论

表情:
评论列表 (有 0 条评论,717人围观)

还没有评论,来说两句吧...

相关阅读