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

尽量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

 

 

 

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注