报这个错一般是由于没有指定数据库连接依赖的版本号
当时我在项目里的数据库连接依赖是这么写的:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
如果是这种没有指定版本的情况下,项目自动配置了默认版本的话,可能就会造成默认的版本和本地的jar包版本不符,例如:数据库驱动在mysql5是com.mysql.jdbc.Driver
,但在mysql6及以后就是com.mysql.cj.jdbc.Driver
,所以在添加依赖的时候就要指定依赖的版本号,否则默认的和我们需要的很可能有出入,导致一些bug的出现。
并且,在两者版本不符的时候,驱动包是会报红的,如下图:
最后放下我项目的配置:
pom.xml:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
application.yml:
spring:
application:
name: xxxxxx
datasource:
name: druid_source
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=CTT&allowPublicKeyRetrieval=true
username: xxxxx
password: xxxxx