1.概述
在整合springboot和mybatis时遇到这个问题,第一时间想到的是乱码了,编码格式问题,看了下数据库的编码设置都是正常UTF-8 。仔细看了下问题,才发现是时区问题。
2.出错原因
出错的原因是mysql的时区值设置的不正确。mysql默认的时区值是美国,中国的时区要比美国晚8小时,需要采用+8:00的格式。
3.解决方案
咱们需要设定mysql的时区,因Mysql是装在我本机电脑上,所以需要进入mysql的安装bin目录下去执行 mysql命令。
打开cmd管理员模式,进入到mysql的安装目录bin。 例如我的安装目录是:D:\Mysql\bin 执行以下命令登录mysqlmysql -hlocalhost -uroot -proot;//登录mysqlshow variables like'%time_zone'; //查看mysql中设置的时区值
然后输入root账号的密码。 输入设置东八区时区命令,如下图:
3.1 找到配置文件my.ini,用notepad打开
3.2 搜索[mysqld],在[mysql]节点下加上这一行
default-time-zone='+08:00'
3.3 重启mysql服务,登录mysql,查看时区值,时区值显示为+8:00,说明设置好了。
net stop mysqlnet start mysql mysql -uroot -proot;//登录mysqlshow variables like'%time_zone'; //查看mysql中设置的时区值