C3P0连接池
使用连接池时,为了简化操作,我们可以使用插件来简化操作步骤,C3P0就是个简化的操作工具,使用它是,我们需要两个东西,第一就是名为c3p0-config.xml的文件,这里面所写的是一些配置的文件,第二个就是它的jar包
当准备好这两个后,考虑到在使用时要不断地调用它的方法,所以我们创建一个C3P0的工具类
package JDBCUtils;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Utils {
private static ComboPooledDataSource pool=new ComboPooledDataSource();
public static DataSource getDataSource() {
return pool;
}
public static Connection getConnection() {
try {
return pool.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
主要会调用这个工具类中的getConnection方法来获取与数据库的连接,接下来,我们创建一个测试类来测试对这个连接池的操作
package JDBCUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.junit.Test;
public class TestC3P0 {
@Test
public void test() {
Connection conn=null;
PreparedStatement pstmt=null;
try {
conn=C3P0Utils.getConnection();
String sql="insert into t_user values(null,'www','3232')";
pstmt=conn.prepareStatement(sql);
int x=pstmt.executeUpdate();
if(x>0) {
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
JDBCUtils.release(conn, pstmt,null);
}
}
}
通过测试,成功的将数据添加到数据库中。此处就省去了自己去创建连接池的步骤。