当前位置:   article > 正文

JDBC连接MySQL Loading class `com.mysql.jdbc.Driver'. This is deprecated_mycat com.mysql.jdbc.driver'. this is deprecated.

mycat com.mysql.jdbc.driver'. this is deprecated. the new driver class is `c

解决问题

今天使用JDBC连接数据库时报了异常

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.

有道翻译:加载类\“com.mysql.jdbc.Driver”。这是弃用。新的驱动程序类是’ com.mysql.cj.jdbc.Driver’。驱动程序是通过SPI自动注册的,手动加载驱动程序类通常是不必要的。

java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

有道翻译:java.sql。SQLException异常:服务器时区价值”Oйu±e×¼e±¼的识别或代表多个时区。如果您想利用时区支持,您必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)来使用更具体的时区值。

(emmmm…有道嘛)
第一个原因解决办法是:将相关配置文件中的 driverClass进行替换

username=root
password=root
url=jdbc:mysql://localhost:3306/test
# driverClass=com.mysql.jdbc.Driver 
# 将上面那行替换成下面那行
driverClass=com.mysql.cj.jdbc.Driver
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

第二个原因解决办法是:在url后加上serverTimezone属性

username=root
password=root
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
# driverClass=com.mysql.jdbc.Driver 
# 将上面那行替换成下面那行
driverClass=com.mysql.cj.jdbc.Driver
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

此时再次运行,问题解决
在这里插入图片描述

思考

由于之前学习时是通过视频学习,视频中附带的驱动版本是5.1.37,因此我将pom.xml中的驱动版本也改成5.1.37,配置文件还原,再次运行

# 配置文件中的信息
username=root
password=root
url=jdbc:mysql://localhost:3306
driverClass=com.mysql.jdbc.Driver

# pom.xml中mysql版本
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.37</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

运行结果:
连接成功

于是我将pom.xml中的mysql版本改成 8.0.15,配置文件不做修改,又报了同样的异常

# 配置文件中的信息
username=root
password=root
url=jdbc:mysql://localhost:3306
driverClass=com.mysql.jdbc.Driver

# pom.xml中mysql版本
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.15</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
连接失败

修改配置文件,再次运行

# 配置文件中的信息
username=root
password=root
url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
driverClass=com.mysql.cj.jdbc.Driver

# pom.xml中mysql版本
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.15</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述
连接成功

由此可见该异常是MySQL驱动版本导致的

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号