首先先导入commons-dbcp-1.4.jar包 然后写一个配置文件dbcp.properties
dbcp.properties中给如下属性: //地址是本机的地址 后面的jdbc是自定义的数据库名字 url=jdbc:mysql://localhost:3306/jdbc //协议 driverClassName=com.mysql.jdbc.Driver //自己本机的用户名 username=root //自己的密码 password=111111 //初始化时的连接对象数 initialSize=3 //池子中最多能装连接对象的个数 maxActive=6 //最大的等待时间 maxIdle=3000
@Test public void t2() throws Exception { Properties prop = new Properties(); InputStream input = T.class.getResourceAsStream("dbcp.properties"); prop.load(input); BasicDataSource bds = (BasicDataSource) BasicDataSourceFactory.createDataSource(prop); //得到一个连接对象 Connection connection = bds.getConnection(); // bds.getConnection(); //PoolGuardConnectionWrapper类型 //也就是Connection接口的引用connection 指向了一个PoolGuardConnectionWrapper类的对象 System.out.println(connection.getClass().getName()); } //这个是不用配置文件的写法 @Test public void t1() throws SQLException { //BasicDataSource类就是DBCP连接池的核心类 也就是这个库中的连接池类 //我们要用的连接对象,就是通过这个类获取的 //1, 创建一个对象 BasicDataSource bds = new BasicDataSource(); //2, 配置各种参数 bds.setUrl("jdbc:mysql://localhost:3306/jdbc"); bds.setDriverClassName("com.mysql.jdbc.Driver"); bds.setUsername("root"); bds.setPassword("111111"); //3, 配置池参数 //初始化时的连接对象数 bds.setInitialSize(3); //最大等待时间 bds.setMaxWait(3000); //池子中,最多有多少个空闲的连接对象 bds.setMaxIdle(6); //池子中,最多能装多少个连接对象 bds.setMaxActive(8); //这种情况就是想看一下现象 会出现异常 for (int i = 0; i < 9; i++) { Connection conn = bds.getConnection(); } }