美文网首页
【ssm整合】Connections could not be

【ssm整合】Connections could not be

作者: 你家门口的两朵云 | 来源:发表于2021-01-15 17:28 被阅读0次
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,驱动配置有误:jdbc.driver=com.mysql.jdbc.Driver
2,数据库连接地址有误:jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8
3,密码或帐号有误:jdbc.username=root jdbc.password=root
注意:以上三种归结为一种;
入坑1:由于spring-dao整合读取db.properties文件会认为username是当前操作系统的用户名,所以会报错说找不到验证错误;
解决方法:在db.properties文件中加上jdbc.xxx,可以解决冲突。*

入坑2:如果当前MySQL5.7以下版本,在url中使用了“useSSL=true”有可能会出现连接不上数据库;
解决方法:将“useSSL=true”改为“useSSL=false”;问题得到解决。

4,数据库未启动或无权访问

5,项目未引入对应的驱动jar包mysql-connector-java-5.1.6-bin.jar

6,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下:
进入mysql数据库:
grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
flush privileges;

7.在普通java项目中使用 mybatis+C3p0+spring时也遇见上述问题。
问题原因是:在xml配置文件中显示声明了自动装载 <beans default-autowire="byName"> 几经折腾,把自动装载设置去掉,就没有问题了,应该使用默认的 byType。

相关文章

网友评论

      本文标题:【ssm整合】Connections could not be

      本文链接:https://www.haomeiwen.com/subject/eguwaktx.html