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

您所在的位置:网站首页 翻译deprecated JDBC连接MySQL Loading class `com.mysql.jdbc.Driver'. This is deprecated

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

2023-08-05 09:26| 来源: 网络整理| 查看: 265

解决问题

今天使用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

第二个原因解决办法是:在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

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

思考

由于之前学习时是通过视频学习,视频中附带的驱动版本是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版本 mysql mysql-connector-java 5.1.37

运行结果: 连接成功

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

# 配置文件中的信息 username=root password=root url=jdbc:mysql://localhost:3306 driverClass=com.mysql.jdbc.Driver # pom.xml中mysql版本 mysql mysql-connector-java 8.0.15

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

修改配置文件,再次运行

# 配置文件中的信息 username=root password=root url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC driverClass=com.mysql.cj.jdbc.Driver # pom.xml中mysql版本 mysql mysql-connector-java 8.0.15

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3