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

4 篇文章 0 订阅
3 篇文章 0 订阅

解决问题

今天使用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版本
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.37</version>
</dependency>

运行结果:
连接成功

于是我将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>

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

修改配置文件,再次运行

# 配置文件中的信息
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>

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

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

  • 22
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值