om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的区别是什么

文 / @WordPress主题

在Java开发中,连接MySQL数据库需要使用JDBC(Java数据库连接)驱动。而连接MySQL数据库时,有两个常用的JDBC驱动,分别是com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver。

com.mysql.jdbc.Driver是mysql-connector-java5中的,而com.mysql.cj.jdbc.Driver是mysql-connector-java6中的。我们先来了解一下它们的区别。

1. 引用方式

com.mysql.jdbc.Driver引用方式如下:

mysql
mysql-connector-java
5.1.49

而com.mysql.cj.jdbc.Driver引用方式如下:

mysql
mysql-connector-java
8.0.20

可以看到,com.mysql.jdbc.Driver是mysql-connector-java5的引用方式,而com.mysql.cj.jdbc.Driver是mysql-connector-java6的引用方式。需要注意的是,引用mysql-connector-java6时,版本号必须大于6.0.6。

2. 命名空间

com.mysql.jdbc.Driver的命名空间是com.mysql.jdbc,而com.mysql.cj.jdbc.Driver的命名空间是com.mysql.cj.jdbc。

3. 时区问题

在设定时区的时候,如果设定serverTimezone=UTC,会比中国时间早8个小时。在中国,我们可以选择Asia/Shanghai或者Asia/Hongkong时区。例如:

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

4. SSL连接

在连接MySQL数据库时,如果需要使用SSL连接,则需要提供具有可信度证书验证的信任库,并设置useSSL=true。如果未明确设置,MySQL5.5.45+、5.6.26+和5.7.6+版本默认要求建立SSL连接。

如果你不需要使用SSL连接,则需要显式禁用SSL连接,通过设置useSSL=false来实现。

以上就是com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的区别。需要注意的是,在使用mysql-connector-java6时,需要使用com.mysql.cj.jdbc.Driver来代替com.mysql.jdbc.Driver,否则会报错。建议开发者选用较新的mysql-connector-java,以获取更好的性能和安全性。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。