基于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
到此所有问题就解决了,能帮到各位,请点个赞谢谢
发布了59 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_27009225/article/details/103999203