Mybatis查询Mysql datetime类型时,相差8小时 解决方案
最近,笔者在做项目的时候,发现了一件特别奇怪的事情。Mysql数据库里数据如下:可是,使用Mybatis查询出来的数据却是查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢?这是因为Mysql 使用系统默认时区,东八区。而Tomcat java使用UTC时区进行处理业务逻辑。System.out.println(System.getProperty("user.ti...
·
最近,笔者在做项目的时候,发现了一件特别奇怪的事情。
Mysql数据库里
数据如下:
可是,使用Mybatis查询出来的数据却是
查出来的数据跟数据库里的数据相差了8个小时,这是为什么呢?
这是因为Mysql 使用系统默认时区,东八区。
而Tomcat java使用UTC时区进行处理业务逻辑。
System.out.println(System.getProperty("user.timezone"));
//输出 Asia/Shanghai
时区的不同,从而导致Mysql数据库中datetime类型的值查询后转到Java Bean,值多了8个小时。
解决方法
在url后面添加 serverTimezone=Asia/Shanghai
jdbc:mysql://localhost:3306/dcoj?serverTimezone=Asia/Shanghai
更多推荐
已为社区贡献1条内容
所有评论(0)