一、出現問題
由於數據庫版本的升級,會出現很多問題,解決一個出現另一個。問題
比如
1、
No suitable driver mysql
2、
Unsupported major.minor version 5
3、其他問題就不再現了
二、問題解決
針對第一個問題明顯是由於 MySql版本的升級帶來的驅動問題,第二個由於Java版本的問題。
1、環境配置
- win10
- JDK 1.7/1.8
- eclipse
- MySql 8.0.1
2、pom配置,解決驅動問題
- mysql-connector-java:8.0.16 (可以是最新)
- c3p0:0.9.5.2 (MySql8.0的驅動必須用0.9.5.2以上的c3p0版本)
- mchange-commons-java:0.2.11 (0.9.5.2以上的c3p0版本,必須有mchange)
Maven中c3p0-0.9.5.2版本可能下載不下來,反正我是沒有進入下面連接
https://sourceforge.net/projects/c3p0/
把下載下來的jar包複製到對應的maven文件夾內
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!-- c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>0.2.11</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
3、jdbc連接配置,解決驅動問題
driver可以是“com.mysql.jdbc.Driver”,也可以是“com.mysql.cj.jdbc.Driver”
親測可以
datasource.type=mysql
datasource.autoCommitOnClose=false
datasource.driverClassName=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://127.0.0.1:3306/kedarjxy?useUnicode=true&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
datasource.username=root
datasource.password=********
serverTimezone=UTC 這個得加否則會報
The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
zeroDateTimeBehavior=convertToNull這個也得加否則會報
java.sql.SQLException: Value ‘0000-00-00’ can not be represented as java.sql.Date