c3p0连接池
需要的架包1.mysql-connector-java-5.1.7-bin.jar
2.c3p0-0.9.2.1.jar
3.mchange-commons-java-0.2.3.4.jar
c3p0-config.xml配置文件
<!--
*这里为了演示只配置了最基本的,和普通连接数据库类似
*这里的name属性名字不能自己杜撰
*这里的named-config的name属性一定要写,不然找不到配置
*如果出现java.sql.SQLException:
Connections could not be acquired from the underlying database!
错误,通常是c3p0-config.xml文件配置错误,检查账号,密码,驱动是否正确
-->
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="tang">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/tang</property>
<property name="user">root</property>
<property name="password">jarrem</property>
<property name="maxActive">20</property>
<property name="maxIdle">10</property>
<property name="minIdle">1</property>
<property name="initialSize">2</property>
</named-config>
</c3p0-config>
java代码
package com.tang.c3p0;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class c3p0Test {
private Connection connection=null;
private DataSource ds=null;
public c3p0Test(){
//创建数据源,通过named-config的name属性加载xml配置文件
ds=new ComboPooledDataSource("tang");
try {
//获取Connection对象
connection = ds.getConnection();
PreparedStatement statement = connection.prepareStatement("select * from student;");
ResultSet result = statement.executeQuery();
while(result.next()){
System.out.println(result.getString(5)+" "+result.getString(3));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String args[]){
new c3p0Test();
}
}