### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Fail

### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
### The error may exist in file [E:\myProjects\huashang\huashang-bkd\core-bkd\target\classes\mapper\UserQryMapper.xml]
### The error may involve com.huashang.mapper.UserQryMapper.loginByToken
### The error occurred while executing a query

数据库密码和用户名写错了

去application.yml文件改一下数据库配置

### 解决 `CannotGetJdbcConnectionException` 和 `SQLException` 当遇到 `org.springframework.jdbc.CannotGetJdbcConnectionException` 或者底层抛出的 `java.sql.SQLException` 时,通常表明应用程序未能成功建立到数据库的 JDBC 连接。以下是可能的原因以及解决方案: #### 数据源配置问题 数据源未正确配置可能导致此异常。常见的原因包括但不限于以下几种情况: - **URL 配置错误**: 如果数据库 URL 不正确,则无法找到目标数据库实例[^1]。 - **用户名/密码不匹配**: 提供的认证信息有误会阻止连接尝试[^2]。 #### 资源耗尽 如果应用运行过程中频繁创建销毁连接而缺乏有效管理, 可能会出现资源枯竭现象: - **连接池耗尽**: 当所有可用连接都被占用且没有及时释放时会发生此类状况[^3]。 ```java // 示例代码展示如何设置最大活跃数来预防连接耗尽 DataSource dataSource = DataSourceBuilder.create() .url("jdbc:mysql://localhost:3306/testdb") .username("root") .password("pass") .driverClassName("com.mysql.cj.jdbc.Driver") .type(HikariDataSource.class) .build(); HikariConfig config = new HikariConfig(); config.setMaximumPoolSize(10); // 设置最大连接数量以防止过度消耗资源 ``` #### 网络或服务中断 网络波动或者数据库服务器本身出现问题也会引发该类错误消息: - **超时时间过短**: 对于高延迟环境下的操作设定较短等待期限容易触发失败响应[^4]。 - **DBMS 崩溃恢复期间不可达**: 此阶段内的请求均会被拒绝直至恢复正常运作状态为止[^5]。 通过以上分析可以定位具体故障点并采取相应措施加以修复。同时建议定期监控系统健康指标以便提前发现潜在隐患。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

素心如月桠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值