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!
1.首先根据报错信息猜测是数据库或mybatis的问题
根据代码我就先看了mapper接口及其实现xml配置,发现接口上蓝色的小鸟不见了,只剩下xml的红色小鸟,于是我猜测是不是mybatis哪里出现了问题。找了很久感觉没什么不妥。就是这里,项目报错时接口上的蓝色小鸟就不见了,这是我最后解决问题后蓝色小鸟又回来了。
解决问题的途中发现了spring整合的其他配置文件有点不配合,看起来是都想自立门户了。
2.发现mybatis看不出来什么问题后,就转移思路编写测试类看看到底能不能连接数据库。
下面是我写的测试类,发现前面获取bean都没问题,就是调用方法查询数据库出现了错误,所以定位就是数据库连接的问题
一方面是我的mysql版本是8.0,但是驱动却是5.几的,这个有问题,需要更改一致
另一方面8.0后配置驱动时要参考下面标准
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=UTF-8
name=root
password=password
关于数据库版本,连接用户名错误等其他异常请看我另一篇文章:https://blog.csdn.net/weixin_44580398/article/details/128330858
接下来把这块调节好后,测试类成功查询出了数据库的数据。重启服务通过前端访问也能成功