org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection 解决办法

  • 检查pom文件里的坐标的mysql版本是否导入正确
<!-- mysql数据库驱动包 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.22</version>
</dependency>
  • 数据库配置是否出错
    检查项目的jdbc.properties文件,如果是mysql 8的话,jdbc.driver应该是com.mysql.cj.jdbc.Driver,别忘了cj。
    正确的配置应该是:
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/bank?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
jdbc.username=root
jdbc.password=root

如果是mysql 5的话,正确的配置应该是:

    driverClassName=com.MySQL.jdbc.Driver
    url=jdbc:mysql://localhost:3306/bank
    username=root
    password=root

注意:项目的jdbc.properties文件的配置信息与pom文件里导入的mysql坐标的版本应该匹配,否则就会报此异常

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,出现"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection"异常的原因可能是无法获取JDBC连接。这可能是由于以下原因之一导致的: 1. 数据库连接配置错误:请确保数据库连接的配置信息(如URL、用户名、密码)正确,并且数据库服务器正在运行。 2. 数据库连接池问题:如果使用了连接池,可能是连接池配置不正确或连接池已满导致无法获取连接。可以尝试增加连接池的最大连接数或检查连接池配置是否正确。 3. 数据库服务器故障:数据库服务器可能出现故障或不可用。可以尝试重启数据库服务器或联系数据库管理员进行故障排查。 以下是一个Java代码示例,演示如何使用Redis的pub/sub功能,并处理"org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection"异常: ```java import org.springframework.jdbc.CannotGetJdbcConnectionException; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPubSub; public class RedisPubSubExample { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); try { jedis.subscribe(new JedisPubSub() { @Override public void onMessage(String channel, String message) { // 处理接收到的消息 System.out.println("Received message: " + message); } }, "channel"); } catch (CannotGetJdbcConnectionException e) { // 处理获取JDBC连接异常 System.out.println("Failed to obtain JDBC Connection: " + e.getMessage()); } finally { jedis.close(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值