问题一
项目启动报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one
说实话,这个报错以前没有遇到过,以为是中是编码风格没有设置造成乱码,一顿操作
spring:
profiles: dev
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://XX.X.XX.XXX:3306/aaa? characterEncoding=utf-8
自信的以为问题被解决了,结果打包重启,发现问题依旧存在,非常奇怪,查阅各类资料,发现原来是时区问题导致
原因:当使用MySQL 8.0以上版本(MySQL连接驱动和版本都是8.0以上)的时候出现的问题错误,默认8.0以上时区为国际标准时间,而我们处于东8区。所以需要在url上加上如下操作
解决:serverTimezone=GMT%2B8
问题二
调用mybatis时,一个insert语句里执行了多个sql操作,说实话,本身这种写法就很不规范,属于历史遗留问题。但是做代码迁移工作时,发现原先调用是没有问题的,怎么现在执行就报错了呢,各类工具中测试sql也是完全ok的
原因及解决方案:原来mysql默认一次执行一个动作,那么批量操作时,需要加上 &allowMultiQueries=true 即可