Spring Boot JPA MySQL:无法确定合适的驱动程序类。

10 浏览
0 Comments

Spring Boot JPA MySQL:无法确定合适的驱动程序类。

我正在使用Spring Boot JPA创建一个应用程序,我正在使用MySQL作为数据库。

以下是我的application.properties文件内容:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect

我已经添加了以下依赖项:


    org.springframework.boot
    spring-boot-starter-web


    org.springframework.boot
    spring-boot-starter-data-jpa


    mysql
    mysql-connector-java
    8.0.17

当我检查调试日志时,我可以看到MySQL的Java连接器在我的类路径中,但我仍然遇到以下错误:

2019-07-29 10:03:00.742 INFO 10356 --- [ main]

o.a.c.c.C.[Tomcat].[localhost].[/] : 正在初始化Spring内嵌Web应用程序上下文 2019-07-29 10:03:00.742 INFO 10356 ---

[ main] o.s.web.context.ContextLoader : 根Web应用程序上下文:初始化完成,用时1534毫秒 2019-07-29

10:03:00.789 WARN 10356 --- [ main]

ConfigServletWebServerApplicationContext : 初始化上下文时遇到异常-取消刷新尝试:

org.springframework.beans.factory.UnsatisfiedDependencyException:

创建bean时出错,名称为

'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration':

通过构造函数参数0表达的不满足的依赖关系;

嵌套异常为org.springframework.beans.factory.BeanCreationException:

创建bean时出错,名称为'dataSource',定义在类路径资源中

[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]:

通过工厂方法实例化'com.zaxxer.hikari.HikariDataSource'时出错;

嵌套异常为org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:

无法确定合适的驱动程序类 2019-07-29 10:03:00.789

INFO 10356 --- [ main]

o.apache.catalina.core.StandardService : 停止服务[Tomcat]

2019-07-29 10:03:00.805 INFO 10356 --- [ main]

ConditionEvaluationReportLoggingListener :

启动应用程序上下文时出错。要显示条件报告,请使用'debug'模式重新运行您的应用程序。 2019-07-29 10:03:00.805

ERROR 10356 --- [ main]

o.s.b.d.LoggingFailureAnalysisReporter :

*************************** 应用程序启动失败


描述:

无法配置数据源:未指定'url'属性,且无法配置嵌入式数据源。

原因:无法确定合适的驱动程序类

操作:

考虑以下内容:

如果您想使用嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上。

如果您需要从特定配置文件中加载数据库设置,可能需要激活它(当前没有激活的配置文件)。

0
0 Comments

(Spring Boot JPA MySQL:无法确定合适的驱动程序类)

最近,我遇到了这个问题。我的解决方案是:打开模块设置,选择资源,右键点击它,然后选择“测试资源”。然后问题就解决了。

下面是解决方法的截图:

![设置页面](https://i.stack.imgur.com/LQKAC.png)

这个问题的原因是无法确定适合的驱动程序类,导致无法连接到 MySQL 数据库。通过将资源设置为测试资源,可以解决这个问题。

希望这篇文章能帮助到遇到相同问题的读者。

0
0 Comments

(Spring Boot JPA MySQL: Failed to determine a suitable driver class)这个问题的出现的原因是因为在Spring Boot的自动配置中,它会根据类路径上添加的依赖自动配置相应的bean。由于在类路径上添加了JPA依赖,所以Spring Boot尝试自动配置一个JPA的数据源。问题在于,你没有给Spring提供完成自动配置所需的完整信息。

解决方法有两种:

1. 在application.properties文件中添加缺少的属性,这样Spring就可以进行自动配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

2. 另一种方法是通过使用实用程序构建器类DataSourceBuilder来以编程方式定义数据源。为此,你需要提供数据库URL、用户名、密码和SQL驱动程序的信息来创建你的数据源:

public class DatasourceConfig {
    public DataSource datasource() {
        return DataSourceBuilder.create()
                .driverClassName("com.mysql.cj.jdbc.Driver")
                .url("jdbc:mysql://localhost:3306/myDb")
                .username("root")
                .password("pass")
                .build();
    }
}

如果上述方法仍然无法解决问题,可以尝试以下方法:

- 尝试将spring.datasource.driver-class-name更改为com.mysql.jdbc.Driver

- 如果使用的是MySQL连接器版本8.0及以上,尝试将其更改为com.mysql.cj.jdbc.Driver

如果以上方法仍然无效,可以尝试删除项目并创建一个新的项目。

需要注意的是,如果出现找不到包的情况,可以查找DataSource类所在的包,并进行相应的导入。

0
0 Comments

在解决Spring Boot JPA MySQL : Failed to determine a suitable driver class问题时,我遇到了相同的问题。通过右键单击项目,选择maven/update project,然后选择你的项目并接受,我解决了这个问题。

0