0%

关于Spring Boot 2.0.4.RELEASE 升级 Spring Boot 2.1.0.M2遇到的Mysql时区问题

SpringBoot 2.0.4.RELEASE 升级 SpringBoot 2.1.0.M2 遇到的Mqsql时区问题

  • 2018.8.25,SpringBoot正式发布 SpringBoot 2.1.0.M2,在项目中我也迫不及待地升级版本.但遇到一个问题,插入到mysql中的时间会比实际慢13个小时
  • 升级前并没有出现这样的问题,于是把目光锁定到变化了的Mysql
  • 在springboot 2.0.4.RELEASE中,spring使用的mysql版本是5.1.46
  • 在springboot 2.1.0.M2中,spring使用的mysql版本是8.0.12
  • 从mysql 6开始,就需要设置时区,驱动从com.mysql.jdbc.Driver升级为com.mysql.jdbc.cj.Driver,旧的Driver会提示已过时

    1
    2
    3
    4
    5
    6
    7
    8
        public class Driver extends com.mysql.cj.jdbc.Driver {
    public Driver() throws SQLException {
    }

    static {
    System.err.println("Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.");
    }
    }
  • 在网上查到资料,可以在application.properties中配置时区为上海解决问题
    • spring.datasource.url=jdbc:mysql://*?serverTimezone=Asia/Shanghai

感谢公司的文神陪我解决问题