zoukankan      html  css  js  c++  java
  • Spring boot 2.1.x 造成的问题

    1. mysql-conector-java 版本默认使用了 8.0.1.5 

    导致:项目启动时的警告: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.

    并且由于我的mysql的版本还是5.6.16,并且我的数据库链接url没有加上serverTimezone=Asia/Shanghai这一参数,导致我的数据库的时间我java项目的时间相隔13个小时,据说这也是因为:

    JDBC 与 MySQL 因 “CST” 时区协商误解导致

    名为 CST 的时区是一个很混乱的时区,在与 MySQL 协商会话时区时,Java 会误以为是 CST -0500,而非 CST +0800

    CST 时区

    名为 CST 的时区是一个很混乱的时区,有四种含义:

    • 美国中部时间 Central Standard Time (USA) UTC-06:00
    • 澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30
    • 中国标准时 China Standard Time UTC+08:00
    • 古巴标准时 Cuba Standard Time UTC-04:00

    今天是“4月28日”。为什么提到日期?因为美国从“3月11日”至“11月7日”实行夏令时,美国中部时间改为 UTC-05:00,与 UTC+08:00 相差 13 小时。

    所以:在升级了依赖的版本之前一定要查询可能产生的影响,并多方面测试,避免造成不必要的麻烦。

    我的解决方式是mysq-connector还是强制使用原来较低的版本版本,就不会产生相差13个小时和启动的警告了。

    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
    </dependency>

    参考:

    https://juejin.im/post/5902e087da2f60005df05c3d?utm_source=tuicool&utm_medium=referral 

  • 相关阅读:
    FTP 协议和 HTTP 协议的比较
    HttpURLConnection的post请求,什么时候发出,writeData存在什么地方
    装饰器
    函数参数以及名称空间作用域
    函数的调用
    函数的返回值
    定义函数的三种方式
    函数
    day05
    day04
  • 原文地址:https://www.cnblogs.com/bfyq/p/10790546.html
Copyright © 2011-2022 走看看