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);
}
}
}
通過測試,成功的將數據添加到數據庫中。此處就省去了自己去創建連接池的步驟。