【时区问题】SpringBoot+mybatis查询mysql的datetime类型数据时间差14小时

【时区问题】MyBatis查询MySQL的datetime类型数据时间差14小时

故障解决方式

与数据库连接时,定义时区,避免mybatis框架从mysql获取时区。在连接上加上 serverTimezone=GMT%2B8

spring.datasource.druid.asset.url=jdbc:mysql://loaclhost:3306/asset1?useUnicode=true&serverTimezone=GMT%2B8&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true

【时区问题】SpringBoot+mybatis查询mysql的datetime类型数据时间差14小时_第1张图片

故障环境介绍

项目 描述
数据库类型 mysql
框架 spring boot
问题范围 因“CST”时区协商误解导致时间差了14或13小时

故障发生现象及报错信息

查询结果的时间都比数据库时间多了14小时,【时区问题】SpringBoot+mybatis查询mysql的datetime类型数据时间差14小时_第2张图片在这里插入图片描述【时区问题】SpringBoot+mybatis查询mysql的datetime类型数据时间差14小时_第3张图片

故障分析及解决过程

通过查看
mybatis查询mysql的datetime类型数据时间差了14小时
以及查看
一次JDBC与MySQL因“CST”时区协商误解导致时间差了14或13小时的排错经历

与 MySQL 因“CST” 时区协商误解导致时间差了13 小时

总结

遇到这样的问题,还是修改自己程序比较简单粗暴,要是联系dba修改时区设置,一般还需要走流程,需要时间.

life is beautiful,我是Alon,如果你有问题,欢迎给我留言。

你可能感兴趣的:(mybatis,mysql)