Springboot整合mybatis8.0时,遇到的时区问题及允许批量操作设置问题

原创
2018/12/12 14:19
阅读数 200

问题一

项目启动报错: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 即可

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部