最新消息:关注【已取消】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

dbcp数据库连接池的配置和使用

Java基础 admin 0浏览 评论

dbcp连接池是Apache旗下的软件,开源连接池,使用步骤如下:

1)导入dbcp的jar包

commons-dbcp-1.4.jar  核心包

commons-pool-1.5.6.jar 辅助包

2)创建连接池对象BasicDataSource对象

3)设置连接参数(url,user,password,dirverClass)

4)设置连接池参数(初始连接数,最大连接数,最大等待时间)

5)获取连接对象(getConnection() 方法)

方法一:dbcp连接池的创建方式如下,写了一个@Test方法:

@Test
public void test() throws SQLException{
	//创建连接池对象
	BasicDataSource ds = new BasicDataSource();
	//设置连接数
	ds.setUrl("jdbc:mysql://127.0.0.1:3306/test");
	ds.setUsername("root");
	ds.setPassword("root");
	ds.setDriverClassName("com.mysql.jdbc.Driver");
	//3.设置连接池参数
	ds.setInitialSize(5);//初始连接数
	ds.setMaxActive(8);//最大连接数
	ds.setMaxWait(3000);//超过最大连接数时,最大等待时间
	ds.setMaxIdle(3000);//最大空闲时间
	//4.获取连接s
	for(int i=1;i<=9;i++){
		Connection conn = ds.getConnection();
		System.out.println(conn.hashCode());
		//最大连接数为8,释放一个就可以最多创建9个连接池
		if(i==5){
			//释放连接(不是真正的关闭连接对象,而是把连接对象放回连接池)
			conn.close();
		}
		//可以用生成的连接执行sql语句
		//conn.createStatement().execute(sql)
	}
}

方法二:我们也可以通过dbcp配置文件的形式来创建dbcp连接池,先创建dbcp.properties连接池配置文件,如下。

url=jdbc:jdbc:mysql://127.0.0.1:3306/test
username=root
password=root
driverClassName=com.mysql.jdbc.Driver                     
initialSize=5
maxActive=8
maxWait=3000
maxIdle=3000

第二种可以通过如下方法来创建dbcp连接池。

@Test
public void test2() throws Exception{
	Properties prop = new Properties();
	prop.load(DbpcDemo.class.getResourceAsStream("/dbcp.properties"));
	//1.创建连接池对象
	BasicDataSource ds = (BasicDataSource)BasicDataSourceFactory.createDataSource(prop); 
	//2.获取连接
	for(int i=1;i<=9;i++){
		Connection conn = ds.getConnection();
		System.out.println(conn.hashCode());
		//最大连接数为8,释放一个就可以最多创建9个连接池
		if(i==5){
			//释放连接(不是真正的关闭连接对象,而是把连接对象放回连接池)
			conn.close();
		}
	   //可以用生成的连接执行sql语句
	   //conn.createStatement().execute(sql)
	}
}

以上两个创建dbcp连接池的方法通常是在jdbc+servlet开发中用来操作数据库,如果在ssm或者ssh框架的项目开发中,通常使用xml的形式来创建连接池,然后注入给SqlSessionFactoryBean对象来处理。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/java/95.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论