问题描述

  • Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
  • 简单来说就是jdbc连接数据库的时候发生错误了

解决方法

因为这里的连接池用的是c3p0的连接池,properties文件里的参数名不能和连接池的这个参数名一样,否则就报错

代码

  • 连接池
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${driver}"/>
    <property name="jdbcUrl" value="${url}"/>
    <property name="user" value="${myUsername}"/>
    <property name="password" value="${myPassword}"/>

    <!--  c3p0连接池的私有属性  -->
    <property name="maxPoolSize" value="30"/>
    <property name="minPoolSize" value="10"/>
    <!--  关闭连接后不自动commit  -->
    <property name="autoCommitOnClose" value="false"/>
    <!--  获取连接超时时间  -->
    <property name="checkoutTimeout" value="10000"/>
    <!--  当获取连接失败重试次数  -->
    <property name="acquireRetryAttempts" value="2"/>
</bean>
  • db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbName
myUsername=root
myPassword=root

`

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐