可能跟MySQL版本有关系,电脑上装了8.0.16的MySQL之后才出现了这个问题,当然这个也只是推测,这里只说解决问题的方法:
在jdbc连接配置中添加参数:&allowMultiQueries=true【允许批量操作】
例如,原本你的数据连接是url: jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
在后边追加上允许批量操作的参数,就是这样:url: jdbc:mysql://127.0.0.1:3306/database_name?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
解决问题是通过这篇博客:mybatis批量更新数据三种方法效率对比
这位大佬的博客很简洁,也很有用,建议参考。

本文介绍了解决MySQL在进行批量操作时出现的问题的方法。通过在JDBC连接配置中添加允许批量操作的参数(&allowMultiQueries=true),可以有效解决因MySQL版本升级导致的数据批量处理异常。该解决方案来源于一篇对比MyBatis批量更新数据效率的博客。
686





