记一次事故吧,唉。技术去客户现场部署环境后,运行软件结果发现显示的时候不对。
尽量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