连接池的一些配置:(所有池参数都有默认值)
初始大小:10个
最小空闲连接数:3个
增量:一次创建的最小单位(5个)
最大空闲连接数:12个
最大连接数:20个
最大等待时间:1000毫秒
四大连接参数:(必须要配)
连接池也是使用四大连接参数来完成创建连接对象!
实现的接口
连接池必须实现:javax.sql.DataSource接口!
连接池返回的Connection对象,它的close()方法与众不同!调用它的close()不是关闭,而是把链接归还给池!
package cn.jxk.jdbc;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;
import org.junit.Test;
/*
* DBCP连接池
* */
public class Demo1 {
@Test
public void fun1() throws SQLException{
/*
* 1.创建连接池参数
* 2.配置四大参数
* 3.配置池参数
* 4.得到连接对象
* */
BasicDataSource dataSource=new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/mydb3");
dataSource.setUsername("root");
dataSource.setPassword("123");
dataSource.setMaxActive(20);
dataSource.setMinIdle(3);
dataSource.setMaxWait(1000);
Connection con=dataSource.getConnection();
System.out.println(con.getClass().getName());
/*
* 连接池内部使用四大参数创建了连接对象!即MySQL的驱动提供的Connection
* 连接池使用MySQL的连接对象进行了装饰,只对close()方法进行了增强!
* 装饰之后的Connection的close()方法,用来把当前连接归还给池!
* */
con.close();//把连接归还给池!
}
}