基於SSM框架的Web項目數據庫由MySql5升級到MySql8爬坑之旅

一、出現問題

由於數據庫版本的升級,會出現很多問題,解決一個出現另一個。問題
比如

1、
No suitable driver mysql
2、
Unsupported major.minor version 5

3、其他問題就不再現了

二、問題解決

針對第一個問題明顯是由於 MySql版本的升級帶來的驅動問題,第二個由於Java版本的問題。

1、環境配置
  1. win10
  2. JDK 1.7/1.8
  3. eclipse
  4. MySql 8.0.1
2、pom配置,解決驅動問題
  1. mysql-connector-java:8.0.16       (可以是最新)
  2. c3p0:0.9.5.2       (MySql8.0的驅動必須用0.9.5.2以上的c3p0版本)
  3. 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
到此所有問題就解決了,能幫到各位,請點個贊謝謝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章