当前位置: 首页 > 知识库问答 >
问题:

无法加载驱动程序类:com.mysql。希杰。jdbc。驾驶员

呼延鸿畅
2023-03-14

我的Spring Boot项目正在尝试使用驱动程序MYSQL连接器java连接MYSQL数据库。我已经导入了最新的mysql驱动程序和spring boot starter数据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启动版本2.6.2

当用Intellij运行项目时,我得到一个错误

原因:org。springframework。豆。BeanInstationException:未能实例化[com.zaxxer.hikari.HikariDataSource]:工厂方法“dataSource”引发异常;嵌套的例外是java。lang.IllegalStateException:无法加载驱动程序类:com.mysql。希杰。jdbc。org的司机。springframework。豆。工厂支持简单安装策略。在org上实例化(simpleinstationstrategy.java:185)~[spring-beans-5.3.14.jar:5.3.14]。springframework。豆。工厂支持构造器解决方案。实例化(ConstructorResolver.java:653)~[spring-beans-5.3.14.jar:5.3.14]。。。35个常见帧被省略,原因是:java。lang.IllegalStateException:无法加载驱动程序类:com.mysql。希杰。jdbc。org的司机。springframework。util。明确肯定在org上声明(Assert.java:97)~[spring-core-5.3.14.jar:5.3.14]。springframework。靴子自动配置。jdbc。数据源属性。在org上确定了驱动程序类名(DataSourceProperties.java:241)~[spring-boot-autoconfigure-2.6.2.jar:2.6.2]。springframework。靴子自动配置。jdbc。数据源属性。在org上初始化DataSourceBuilder(DataSourceProperties.java:193)~[spring-boot-autoconfigure-2.6.2.jar:2.6.2]。springframework。靴子自动配置。jdbc。数据源配置。createDataSource(DataSourceConfiguration.java:48)~[spring-boot-autoconfigure-2.6.2.jar:2.6.2]位于org。springframework。靴子自动配置。jdbc。数据源配置$Hikari。dataSource(DataSourceConfiguration.java:90)~[spring-boot-autoconfigure-2.6.2.jar:2.6.2]。base/jdk。内部的反映NativeMethodAccessorImpl。在java上调用0(本机方法)~[na:na]。base/jdk。内部的反映NativeMethodAccessorImpl。在java上调用(NativeMethodAccessorImpl.java:62)~[na:na]。base/jdk。内部的反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)~[na:na]。base/java。朗,反思一下。方法在org上调用(Method.java:566)~[na:na]。springframework。豆。工厂支持简单安装策略。实例化(SimpleInstallationStrategy.java:154)~[spring-beans-5.3.14.jar:5.3.14]。。。省略了36个公共框架

我已经引用了关于不能加载驱动程序类的帖子:com.mysql.jdbc.驱动程序(不是com.mysql.cj.jdbc.驱动程序),我不能申请我的项目,因为我的项目在使用com.mysql.cj.jdbc.驱动程序但不是com.mysql.jdbc.驱动程序时出错。

我还提到了这篇文章不能加载驱动程序类:com.mysql。希杰。jdbc。驾驶员但是我找不到这个错误的正确答案(答案被标记为更正)。

如何修复此错误?

共有3个答案

樊令秋
2023-03-14

你检查过你有哪个版本的MySQL连接器吗?

因为您还没有在pom中指定版本。xml,有可能是它推出了版本5,现在它正在抱怨这一点。cj,版本8所需。

这可能是它在没有. cj(com.mysql.jdbc.驱动程序)的情况下工作的原因,因为它拉动了版本5。手动将版本添加到您的pom.xml并保持. cj不变。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.16</version>
</dependency>

在那之后,确保你拉你的依赖项。但是如果你在“mvn干净安装”之后只有版本8,请确保你签入你的项目。

至于你共享的图片“mysql版本”,这意味着什么都没有,例外是关于mysql连接器jar,它与工作台无关,你仍然可以使用工作台版本5,使用mysql连接器jar版本8,这不会有什么区别。

在任何版本的mysql workbench(5或8)中:

mysql连接器8 jar=requires。cj

mysql连接器5 jar=不需要。cj

您需要做的唯一一件事是在pom中定义mysql连接器java的版本。xml

缪阎宝
2023-03-14

我必须解决这个问题。在Intellij中,右键单击项目,选择maven,选择重新加载项目。现在Intellij将向该项目添加mysql驱动程序

宋华美
2023-03-14

1) 在pom中使用此依赖项。xml

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>

2)在application.properties文件中使用此属性

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 类似资料:
  • 我想在Spring Boot中配置2个JNDI数据源。我尝试了这个配置: application.properties 主要数据源配置: 第二个数据源配置: 但是我在部署过程中收到错误: 我正在使用部署到Wildfly服务器的Spring Boot战mariadb-java-client-2.4.2.jar.当我使用单个数据源配置时,它工作正常。但是对于第二个数据源,我得到了异常。 你知道我如何解

  • 我正在运行以下代码,但是我得到了关于Oracle类名称的错误。我已经用oracle jar文件设置了classpath环境变量,但它不起作用。有人能帮我吗?我不知道还能做什么。我真的很感谢你的帮助 这就是错误:由:java引起。sql。SQLException:无法加载JDBC驱动程序类“oracle”。jdbc。驾驶员OracleDriver's

  • 问题内容: 我在春季配置了一个netezza db。我在类路径中添加了依赖的nzjdbc.jar 春季配置: 问题答案: 将放入您的本地Maven存储库 (在该目录执行这个位于 然后像正常依赖项一样使用它: @请参阅安装第三方JAR的指南

  • 即使驱动程序类名已定义,我也会收到此错误 Java语言lang.IllegalStateException:无法加载驱动程序类:com。mysql。jdbc。组织的驱动程序。springframework。util。明确肯定state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]位于org。springframewor

  • 我正在上使用。我试图弄明白如何使用数据导入从加载数据。但我最终无法加载JDBC驱动程序类。以下是我所做的: 把放到 1.配置: 2.配置: 在

  • 我正在尝试通过DriverManagerDatasorce的数据源对象创建JDBC连接。每次我运行应用程序时 引起的原因:org.springframework.beans.属性BatchUpdateExc的;嵌套的属性AccessExceptions(1)是:属性的访问异常1:org.springframework.beans.方法调用异常:属性'driverClassName'抛出的异常;嵌套