mybatis查出的数据时间比数据库实际多了十几个小时解决办法

记一次事故吧,唉。技术去客户现场部署环境后,运行软件结果发现显示的时候不对。

尽量mysql默认值能不用默认的时间就不要用吧,唉,有坑。

还有,注意实体类date导入的包,千万不要导入sql的包,千万不要!!!!

时间朝前产生的原因还是因为mysql的时区问题。

先在数据库执行show variables like '%time_zone%'; 看看时区是什么,如果不是+8就改一下,执行下面这两句就可以改了

mysql> set global time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec) 

mysql> set time_zone = '+08:00'; Query OK, 0 rows affected (0.00 sec)

 

然后在mybatis连接mysql的驱动上加上?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8 就可以了

如下:

        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/get_data_files?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&useSSL=true&allowMultiQueries=true&serverTimezone=GMT%2B8
        username: root
        password: root

 

参考的:

https://www.cnblogs.com/mmling/p/11138468.html

 

 

 

 

版权声明:
作者:黯然gg
链接:https://3zi.cn/archives/635
来源:阿龙爱吃肉
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录