问题描述
- 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
`