DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class DBCP_Test {
public static DataSource getDataSource() {
String url = "jdbc:mysql://127.0.0.1:3306/test";
String username = "root";
String password = "123";
BasicDataSource bds = new BasicDataSource();
bds.setUrl(url);
bds.setDriverClassName("com.mysql.jdbc.Driver");
bds.setUsername(username);
bds.setPassword(password);
return bds;
}
public static void closeDataSource(DataSource ds) throws SQLException {
BasicDataSource bds = (BasicDataSource)ds;
bds.close();
}
public static void main(String[] args) throws SQLException {
BasicDataSource ds = (BasicDataSource) getDataSource();
ds.setInitialSize(10);
Connection con = ds.getConnection();
System.out.println(con);
con.close();
System.out.println(ds.getMaxActive());
System.out.println(ds.getDriverClassName());
System.out.println(ds.getInitialSize());
System.out.println(ds.getMaxIdle());
System.out.println(ds.getNumIdle());
System.out.println(ds.getNumActive());
}
}