JDBC中com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别

最近重装了系统,随后在官网下载了最新版本的MySQL8.0.13和相应的mysql-connector-java-8.0.13,运行程序时出现好几种错误。

之前的代码是这样的:

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db1?useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=root

在连接数据库时报错,提示

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'加载驱动,而且驱动程序已经自动加载好了。之前看到过在Mysql5之后的驱动包都会自动加载驱动。

现在将driverClassName的值改为com.mysql.cj.jdbc.Driver,运行程序,又提示如下错误

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.

 意思就是需要通过ServerTimeZone属性来设置一个时区,去网上查询之后,可以选择东8区的Hongkong或者Asia/Shanghai作为参数,修改后的代码如下

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///db1?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username=root
password=root

总的来说,

com.mysql.jdbc.Driver 是 mysql-connector-java 5及5之前的, 
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6及6之后的的,

从jar文件下的目录也能看出来,在5的时候是没有cj这个子目录的,如图

而在8中,目录如下

评论 3 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

啊啊啊狗哥

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值