**
关于时区相差8小时问题
1.更换高版本SQL驱动出现的问题
执行sql在插入数据库的过程中都无任何问题,但是通过数据库查看就会发现比正常插入时间少了8小时或者更多小时,多半原因是时区问题
2.排查思路
①.首先查看数据库所在的服务器,时间是否正确
②.在查看配置文件中是否配置国际化标准时间或者北京时间
3.解决办法(配置北京时间):
北京时间配置: serverTimezone=Asia/Shanghai
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
4.恢复错误数据相差时间
数据库连表操作恢复准确时间(在原有的时间+8小时)
UPDATE HT_CLAIM_CASE_TASK_INFO task
LEFT JOIN HT_CLAIM_CASE_INFO info ON task.CASE_NO = info.CASE_NO
LEFT JOIN HT_CLAIM_CASE_RECORD recode ON task.CASE_NO = recode.CASE_NO
SET recode.INSERT_TIME = date_add( recode.INSERT_TIME, INTERVAL 8 HOUR ),
task.INSERT_TIME = date_add( task.INSERT_TIME, INTERVAL 8 HOUR ) ,
info.INSERT_TIME = date_add( info.INSERT_TIME, INTERVAL 8 HOUR ) ,
recode.UPDATE_TIME = date_add( recode.UPDATE_TIME, INTERVAL 8 HOUR ) ,
task.UPDATE_TIME = date_add( task.UPDATE_TIME, INTERVAL 8 HOUR ) ,
info.UPDATE_TIME = date_add( info.UPDATE_TIME, INTERVAL 8 HOUR )
WHERE
task.ID >= 3080 and task.ID <= 3200
注意:条件ID为,错误开始的第一条是数据ID 和 最后一条数据的ID