1. 程式人生 > >Java連線mysql中遇到的一些問題及解決方法

Java連線mysql中遇到的一些問題及解決方法

0.要想用Java連線mysql資料庫,首先裝好JDK,配置好環境變數,將jdk*.*.*\lib放入classpath,將jdk*.*.*\bin放入path中(*.*.*表示版本號);其次安裝好mysql資料庫,然後下載連線資料庫要用的驅動包,並配置環境變數(配置方法,將驅動包的路徑放入classpath中)。

1.Java使用mysql-jdbc連線MySQL出現如下警告:

Establishing SSL connection without server's identityverification 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 optionisn't set. For compliance with existing applications not using SSL theverifyServerCertificate property is set to 'false'. You need either toexplicitly disable SSL by setting useSSL=false, or set useSSL=true and providetruststore for server certificate verification.

原因是MySQL在高版本需要指明是否進行SSL連線。解決方案如下:

mysql連線字串url中加入ssl=true或者false即可,如下所示。

url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true

2.對於錯誤:

要在url中加入serverTimezone=America/New_York,如下所示:


publicstatic final StringDBURL="jdbc:mysql://localhost:3306/d1?useSSL=true&useLegacyDatetimeCode=false&serverTimezone=America/New_York

";

(解決網址:http://stackoverflow.com/questions/7605953/how-to-change-mysql-timezone-in-java-connection)

3.若修改環境變數還不能連線資料庫,則將驅動包(mysql-connector-java-6.0.2-bin.jar)放到jdk下的jre\lib\ext資料夾下(D:\programfiles\Java\jdk1.8.0_91\jre\lib\ext)試試。

例如,如下圖所示:

4.對於下列錯誤:

Exceptionin thread "main" java.lang.UnsupportedClassVersionError:com/mysql/jdbc/Driver : Unsupport

應該是jdk版本較低,而驅動包的版本較高造成的,暫時的解決辦法是重新安裝版本較高的JDK。

注意:當重新安裝了JDK後要重新修改環境變數path和classpath,同時由於重新安裝了JDK,可能會造成原有的eclipse不可用(例如位數的原因,導致不可用),此時要去下載合適的eclipse。

5.對於java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver....這種錯誤

很可能是由於驅動包的路徑不,多種com.mysql.cj.jdbc.Driver中有拼寫錯誤導致,找不到Driver類,

因為將驅動包用winRAR開啟後,Driver的路徑如圖所示: