如何解决nested exception is java.sql.SQLException: Connections could not be acquired from the underlying

本文详细解析了MyBatis系统异常,深入探讨了在使用MyBatis框架时遇到的数据库连接失败问题,提供了全面的解决方案,包括检查驱动配置、数据库连接地址、账号密码以及确保项目已引入正确的驱动jar包。

如何解决nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!

报错内容:
Root Cause org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
The error may exist in com/itheima/dao/IUserDao.java (best guess)
The error may involve com.itheima.dao.IUserDao.findAll
The error occurred while executing a query
Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:79)
org.mybatis.spring.SqlSessionTemplateSqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)com.sun.proxy.SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447) com.sun.proxy.SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)com.sun.proxy.Proxy16.selectList(Unknown Source)

单元测试查询所有数据,也都全部显示出来,但是当服务器开启之后,访问http://localhost:8080/vue/user/findAll.do数据一直显示不出来。之后通过查找资料,找到了解决的办法。

对于解决这种问题的办法有:(jdbc.properties配置文件中)

1.驱动配置不正确:Driver而不是driver
jdbc.driver=com.mysql.jdbc.Driver
2.数据库的连接地址不正确:
jdbc.url=jdbc:mysql://localhost:3306/vue或者如果是连接的是本地的数据库可以不写localhost:3306直接写/
3.数据库的账号或者密码输入错误
jdbc.username=root
jdbc.password=root
如果是因为修改了配置文件后导致的这个错误,建议重新写一遍配置文件,我就是重新又写了一个配置文件之后,就不报错了
4,项目未引入对应的驱动jar包mysql-connector-java-5.1.6-bin.jar。
可以查看生成的class文件中是否有该java包的存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值