如何解决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.SqlSessionTemplate
S
q
l
S
e
s
s
i
o
n
I
n
t
e
r
c
e
p
t
o
r
.
i
n
v
o
k
e
(
S
q
l
S
e
s
s
i
o
n
T
e
m
p
l
a
t
e
.
j
a
v
a
:
447
)
c
o
m
.
s
u
n
.
p
r
o
x
y
.
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包的存在