com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別及設定serverTimezone的方法
jdbc.Driver區(qū)別
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

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

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 , 需要指定時區(qū)serverTimezone:
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false username=root password=
在設定時區(qū)的時候,如果設定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 '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
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(安全套接層)
如果你有任何問題也可以私信我,看到后會盡可能回。
到此這篇關于com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別以及設定serverTimezone的文章就介紹到這了,更多相關com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
程序包org.springframework.boot不存在的問題解決
本文主要介紹了程序包org.springframework.boot不存在的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-09-09
javamail發(fā)送附件DataSource使用文件流解決過程
使用ByteArrayDataSource替代傳統(tǒng)附件處理方式,解決James郵件服務器需通過ApacheHttpClient下載華為云/FTP附件的問題,實現(xiàn)直接內存?zhèn)鬏?確保郵件發(fā)送功能正常運作2025-08-08

