【发布时间】:2022-01-26 22:14:12
【问题描述】:
我的 Spring Boot 项目尝试使用驱动程序 mysql-connector-java 连接到 MYSQL 数据库。
我已经导入最新的mysql驱动和spring-boot-starter-data-jpa
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
我在application.properties文件中配置了数据库连接
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=somethingfunny
spring.datasource.password=somethingfunny
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
#spring.jpa.show-sql: true
MYSQL版本是8.0.26
Spring Boot 2.6.2 版
使用 Intellij 运行项目时出现错误
引起:org.springframework.beans.BeanInstantiationException: 无法实例化 [com.zaxxer.hikari.HikariDataSource]:工厂 方法'dataSource'抛出异常;嵌套异常是 java.lang.IllegalStateException:无法加载驱动程序类: com.mysql.cj.jdbc.Driver 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.14.jar:5.3.14] 在 org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.14.jar:5.3.14] ...省略了35个常用框架造成的 作者:java.lang.IllegalStateException:无法加载驱动程序类: com.mysql.cj.jdbc.Driver 在 org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.14.jar:5.3.14] 在 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:241) ~[spring-boot-autoconfigure-2.6.2.jar:2.6.2] 在 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:193) ~[spring-boot-autoconfigure-2.6.2.jar:2.6.2] 在 org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.6.2.jar:2.6.2] 在 org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.6.2.jar:2.6.2] 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)~[na:na] 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] 在 java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.14.jar:5.3.14] ...省略了36个常用框架
我参考了关于Cannot load driver class: com.mysql.jdbc.Driver(不是com.mysql.cj.jdbc.Driver)的帖子,我无法申请我的项目,因为我的项目在使用com.mysql.cj.jdbc.Driver而不是com.mysql.jdbc.Driver时出错。
我还参考了这篇文章Cannot load driver class: com.mysql.cj.jdbc.Driver。但是我找不到这个错误的正确答案(答案被标记为更正)。
如何解决这个错误?
【问题讨论】:
-
查看你使用的JDK版本
标签: mysql spring spring-boot spring-data-jpa