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

问题一

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

转载于:https://my.oschina.net/u/3869202/blog/2987412

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值