搭建springboot时连接不到数据库Failed to determine a suitable driver class

本文详细介绍了在SpringBoot项目中遇到的数据源配置错误及其多种解决方案,包括配置文件未被正确加载、JDBC驱动不匹配等问题,并提供了具体的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在搭建springboot时,有报这个错误:
在这里插入图片描述
大意就是配置数据源失败,没有指定url的属性,无法配置数据源。
不能确定一个JDBC的驱动类
出现这个错误的原因呢有很多,我会一一列出来,大家可以对号入座。

1.首先是我自己出现这个错误的原因是(当时也是网上找了很多的解决办法,还问了老师,都有叫换电脑试试的⊙0⊙):在启动你的(ProjectJt)Application服务器的时候,resources中的application.properties(application.yml)没有编译到文件target中的calsses中去,解决办法就是把resources的这文件复制到calsses中就行了
在这里插入图片描述
而对于服务器启动没有把application.properties自动编译过去的解决办法是:把下面这一行删掉就行了
在这里插入图片描述
2.第二种解决办法就是排除JDBC的自动装配机制,在SpringBootApplication中去指定执行数据源

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

3.检查一下MariaDB与Mysql的版本是否相对应
MariaDB5.5对应Mysql5.5(5.5以下的版本都是这个对应关系)
MariaDB10.0对应5.6
MariaDB10.1对应5.7
解决办法:
将 jdbc.driverClassName=com.mysql.jdbc.Driver 修改为

jdbc.driverClassName=com.mysql.cj.jdbc.Driver

4.application.properties(application.yml)文件没有被扫描到
解决办法:需要在pom.xml文件中的添加如下节点

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.yml</include>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.yml</include>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
</resources>

5.如果还是不行的话,可以仔细看看yml的配置文件是否书写有误,大家可以参考一下我yml配置文件,path报红色波浪线不影响,不用管

#application.properties server.port=1314
#1314值前面必须由空格
server:
  port: 1314

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
        username: root
        password: Y1999414025

mybatis:
  mapperLocations: classpath:com.tedu.project_jt.mapper/*.xml

logging:
  path: ./logs
  level:
    com.tedu.project_jt.mapper: debug
### JdbcTemplate 连接 Oracle 数据库解决方案 当遇到 `Failed to determine a suitable driver class` 错误,通常是因为 Spring Boot 自动配置未能找到合适的 JDBC 驱动程序。为了确保能够成功连接到 Oracle 数据库并使用 JdbcTemplate,需要进行如下设置。 #### 1. 添加 Maven 依赖项 对于 Oracle 数据库,应添加相应的 JDBC 驱动依赖。由于 Oracle 官方并未将 ojdbc jar 文件发布至公共仓库,因此需手动下载 ojdbc6 或者更高版本的 jar 并安装到本地 maven 库中[^1]: ```xml <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> ``` 注意:上述示例假设使用的是较新的 ojdbc8 版本;如果是旧版,则替换为对应的 artifactId 和 version 值。 #### 2. 修改 application.properties 或 application.yml 文件 在应用程序属性文件里指定数据源的相关参数,包括 URL、用户名和密码等信息。以下是基于 YAML 的配置方式: ```yaml spring: datasource: url: jdbc:oracle:thin:@localhost:1521:orclpdb username: your_username password: your_password driver-class-name: oracle.jdbc.driver.OracleDriver ``` 这里特别指定了 `driver-class-name` 属性来帮助 Spring Boot 正确识别所使用的驱动类名称。 #### 3. 排除默认的数据源自动配置 为了避免潜在冲突或不必要的错误提示,在某些情况下可能还需要显式地禁用掉 Spring Boot 对于数据源组件的自动装配行为: ```yaml spring: autoconfigure: exclude: - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration ``` 通过以上调整之后重新启动应用即可解决问题,并能正常利用 JdbcTemplate 来操作 Oracle 数据库了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值