Mybatis查询Mysql datetime类型时,相差8小时 解决方案

Posted jsoso

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis查询Mysql datetime类型时,相差8小时 解决方案相关的知识,希望对你有一定的参考价值。

查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢?

这是因为mysql 使用系统默认时区,东八区。

而Tomcat java使用UTC时区进行处理业务逻辑。

时区的不同,从而导致Mysql数据库中datetime类型的值查询后转到Java Bean,值多了8个小时。

解决方法

在url后面添加 serverTimezone=Asia/Shanghai :

jdbc.url=jdbc:mysql://127.0.0.1:3306/caipiao?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

 

以上是关于Mybatis查询Mysql datetime类型时,相差8小时 解决方案的主要内容,如果未能解决你的问题,请参考以下文章

mybatis查询mysql的datetime类型数据时间差了14小时

mysql中时间dateTime怎么插入?

mysql中时间dateTime怎么插入?

MyBatis怎么把datetime类型中的年份映射成int

Mysql 查询 int类型日期转换成datetime类型

Mysql 查询 int类型日期转换成datetime类型