如何解决springboot数据库查询时出现的时区差异问题

发布时间:2023-01-07 09:26

最近项目中使用到多数据源将MySQL库中的数据迁移到mongo库中,发现取出后的数据与原数据时间上会出现8小时的相差,

最后度娘后终于解决问题,记录一下:

网上看到了三种比较实用的方法,因为使用的springboot原因,所以我这里使用的是在配置文件application.yml中进行修改,另外其他方法网上都可以搜到,

一:在连接数据库的配置上我们添加一项

&serverTimezone=GMT%2b8
 primary:
      jdbc-url: jdbc:mysql://******:3306/***?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8
      username: ****
      password: *****
    secondary:
      jdbc-url: jdbc:mysql://*******:3306/***?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8
      username: *****
      password: ********

原格式应该是这样的:

&serverTimezone=GMT+8 这里使用%2b替换 + 号

二:直接在boot配置文件中增加jackson配置

#在application.yml中增加配置
spring:
    jackson:
        time-zone: GMT+8

这样就可以成功将时间修改成功了,还有其他方法,大家可以查阅哦

文档下载:如何解决springboot数据库查询时出现的时区差异问题.doc文档

THE END
喜欢就支持一下吧