applicationContext.xml
<!-- 配置c3p0数据源的bean -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8"></property>
<property name="user" value="root"></property>
<property name="password" value="pwd"></property>
<!-- initialPoolSize创建数据库连接池之后初始化的数据库的连接数,默认值3 -->
<property name="initialPoolSize" value="3"></property>
<!-- 连接池种可以存在的最大连接数,默认15 -->
<property name="maxPoolSize" value="10"></property>
<!-- 当连接池中的连接用完的时候,c3p0一次性创建的新的连接数 -->
<property name="acquireIncrement" value="2"></property>
</bean>
Demo.java
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource)ctx.getBean("dataSource");
String sql = "insert into user(id, name) values (3, 'hw')";
try {
Connection conn = dataSource.getConnection();
java.sql.Statement stat = conn.createStatement();
stat.execute(sql);
stat.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}