版本區別:
com.mysql.jdbc.Driver
是 mysql-connector-java 5中的
com.mysql.cj.jdbc.Driver
是 mysql-connector-java 6中的
1、JDBC連接Mysql5 com.mysql.jdbc.Driver
:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jpa(?useUnicode=true&characterEncoding=utf8&useSSL=false)----可加可不加,建議加上
username=root
password=111
2、JDBC連接Mysql6 com.mysql.cj.jdbc.Driver, 需要指定時區serverTimezone:
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/jpa(?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false)------不加報錯
username=root
password=111
備注:
**** 如果mysql-connector-java用的6.0以上的,如下:
<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
&&& 還有一個警告:
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。