解决mybatis查询mysql数据库时间错误的问题-时区错误
     2019-03-06 15:53:54   深圳市 阅读数 63 点赞 收藏 举报 编辑

今天使用mybatis查询mysql中的数据时,莫名其妙的所有时间都出错了,所有时间都比数据库时间多了14小时,考虑了一下,初步判定是系统时区的问题


登陆linux,执行mysql -uroot -p, 然后运行命令

show variables like '%time_zone%'

发现system_time_zone项果然是CST

于是上网找方法,找到以下解决方式:

set global time_zone = '+8:00';
set time_zone = '+8:00';
flush privileges;

执行命令后,发现问题并没有解决,于是乎,继续百度,终于找到解决方法,在jdbc连接字符串后面加上下面的参数即可解决问题

&serverTimezone=GMT%2B8

完整的jdbc连接字符串是这样的

jdbc:mysql://xx.xx.xx.xx:3306/stdd_test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
发表评论