本篇文章給大家介紹一下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
倉庫地址: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, 需要指定時區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?'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(安全套接層)
推薦學習:php視頻教程