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小时 解决方案的主要内容,如果未能解决你的问题,请参考以下文章

mysql中字段为text类型使用mybatis的Criteria查询无法进行封装

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

使用mybatis写一个验证方法时,mysql数据库查询结果返回null,mybatis无法将其封装为boolean类型,怎么办?

扩展mybatis和通用mapper,支持mysql的geometry类型字段

Mybatis疑难事件簿:#‘传递布尔值无效问题

Mybatis和Mysql的查询语句一样吗?