C3P0 示例代码
这是一个连接SQL Server的C3P0的配置过程
代码块
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* Created by dan on 2015/12/2.
*/
public class C3P0JdbcUtil {
private static ComboPooledDataSource ds = null;
static {
try{
ds = new ComboPooledDataSource("SQLServer");
}catch (Exception e){
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException{
return ds.getConnection();
}
public static void release(Connection conn, Statement st, ResultSet rs){
if (rs != null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
if (st != null){
try{
st.close();
}catch(Exception e){
e.printStackTrace();
}
}
if (conn != null){
try{
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
需要在配置文件中指明连接的参数,文件的名字必须是c3p0-config.xml:
<c3p0-config>
<default-config>
<property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="jdbcUrl">jdbc:sqlserver://127.0.0.1:1433</property>
<property name="user">stu</property>
<property name="password">123</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
</default-config>
<named-config name="SQLServer">
<property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="jdbcUrl">jdbc:sqlserver://127.0.0.1:1433</property>
<property name="user">stu</property>
<property name="password">123</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
</named-config>
</c3p0-config>
在xml中有一个默认的配置,有一个指定的配置,name属性可被java程序用来绑定具体的数据库配置:
new ComboPooledDataSource("SQLServer");
注意:使用上述java代码的时候,c3p0-config.xml必须直接在src下方,而不是调用代码的包中。