首頁  >  文章  >  資料庫  >  om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼

om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-05-21 09:18:025940瀏覽

這篇文章跟大家介紹一下om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼

com.mysql.jdbc.Driver 是mysql-connector-java 5中的,

com.mysql .cj.jdbc.Driver 是mysql-connector-java 6中的

#下載位址:https://dev.mysql.com/downloads/connector/j/5.1.html

om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼

倉庫位址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼

##mysql-connector- java 5

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.49</version>
</dependency>

1、JDBC連接Mysql5

com.mysql.jdbc.Driver:

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

2、JDBC連接Mysql6

com.mysql.cj.jdbc .Driver, 需要指定時區serverTimezone:

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

在設定時區的時候,如果設定serverTimezone=UTC,會比中國時間早8個小時,如果在中國,可以選擇Asia/Shanghai或Asia/Hongkong,例如:

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

備註:

I、如果mysql-connector-java用的6.0以上的,如下:

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>

但是你的driver用的還是

com.mysql.jdbc.Driver,就會報錯:

Loading class &#39;com.mysql.jdbc.Driver&#39;. This is deprecated. The new 
driver class is &#39;com.mysql.cj.jdbc.Driver&#39;. 
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

II、還有一個警告:

WARN: Establishing SSL connection without server’s identity verification is not recommended. 
According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection 
must be established by default if explicit option isn’t set. 
For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. 
You need either to explicitly disable SSL by setting useSSL=false, 
or set useSSL=true and provide truststore for server certificate verification.

不建議不使用伺服器驗證來建立SSL連線。

如果未明確設置,MySQL 5.5.45 , 5.6.26 and 5.7.6 版本預設要求建立SSL連線。

為了符合目前不使用SSL連線的應用程序,

verifyServerCertificate屬性設定為’false’。

如果你不需要使用SSL連接,你需要透過設定

useSSL=false來明確停用SSL連線。

如果你需要用SSL連接,就要為伺服器憑證驗證提供信任庫,並設定

useSSL=true

SSL – Secure Sockets Layer(安全通訊端層)

推薦學習:

php影片教學

以上是om.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除