java数据库连接池dbcp

时间:2022-05-25 08:28:07

之前学习了dbcp数据库连接池,但是没有认真的学习,今天认真的学习了一下,并且写了一个工具类,便于开发

主要要commons-collections-3.2.1.jar,commons-dbcp-1.4.jar,commons-pool-1.6.jar,mysql-connector-java-5.0.3-bin.jar,这些jar都是Jakarta项目下的子项目
commons-collections-3.2.1.jar是Collections项目中的,commons-dbcp-1.4.jar是DBCP项目中的,commons-pool-1.6.jar是Pool项目中的,dbcp依赖其他两个bao,mysql-connector-java-5.0.3-bin.jar是数据库驱动,这个是必须的。下面看看我做的工具类:

package com.tang;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class JdbcUtils {
private static DataSource dataSource = null;

static {
Properties props = new Properties();
InputStream inStream = TestDbcp.class.getClassLoader().getResourceAsStream("com\\tang\\dbcpconfig.properties");
try{
props.load(inStream);
dataSource = BasicDataSourceFactory.createDataSource(props);
}catch(Exception e){
throw new ExceptionInInitializerError();
}finally{
try{
inStream.close();
}catch(Exception e){
e.printStackTrace();
}
}


}

public static DataSource getDataSource(){
return dataSource;
}

public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}

public static void release(ResultSet rs, Statement stmt, Connection conn) throws Exception {
try{
if(rs != null){
rs.close();
}
}finally{
try{
if(stmt != null){
stmt.close();
}
}finally{

if(conn != null){
conn.close();
}

}

}
}
}

这个类可以很方便的连接数据库,便于开发