连接池管理mysql_MySQL-第十五篇使用连接池管理连接

1、数据库连接池的解决方案是:

当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池。每次应用程序请求数据库连接时,无需重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池。

2、数据库连接池是Connection对象的工厂。JDBC数据库连接池使用javax.sql.DataSource(数据源)来表示,DataSource只是一个接口,其开源的实现有DBCP、C3P0等。

3、DBCP数据源

相关的jar文件:

1》commons-dbcp.jar:连接池的实现。

2》commons-pool.jar:连接池实现依赖库。

一种连接方式举例:

//创建数据源对象

BasicDataSource ds=newBasicDataSource();//设置驱动

ds.setDriverClassName("com.mysql.jdbc.Driver");//设置连接数据库的url

ds.setUrl("jdbc:mysql://localhost:3306/world");//设置连接数据库的用户名

ds.setUsername("root");//设置连接数据库的密码

ds.setPassword("1234");//设置连接池的初始连接数

ds.setInitialSize(5);//设置连接池最多可有多少个活动连接数

ds.setMaxActive(20);//设置连接池中最少有2个空闲的连接

ds.setMinIdle(2);

整个应用只需要一个数据源。关于使用:

//通过数据源获取数据库连接

Connection conn=ds.getConnection();

数据库访问结束后,还是像往常一样关闭数据库连接。

//释放数据库连接。实际是归还到连接池。

conn.close();

4、C3P0数据源

C3P0可以自动清理不再使用的Connection,还可以自动清理Statement和ResultSet。

jar包:c3p0-0.9.1.2.jar

连接方式举例:

//创建数据源对象

ComboPooledDataSoruce ds=newComboPooledDataSoruce();//设置驱动

ds.setDriverClassName("com.mysql.jdbc.Driver");//设置连接数据库的url

ds.setUrl("jdbc:mysql://localhost:3306/world");//设置连接数据库的用户名

ds.setUsername("root");//设置连接数据库的密码

ds.setPassword("1234");//设置连接池最大连接数

ds.setMaxPoolSize(40);//设置连接池最小连接数

ds.setMinPoolSize(10);//设置连接池的初始连接数

ds.setInitialPoolSize(10);//设置连接池中的缓存Statement的最大数

ds.setMaxStatements(180);

整个应用只需要一个数据源。关于使用:

//通过数据源获取数据库连接

Connection conn=ds.getConnection();

数据库访问结束后,还是像往常一样关闭数据库连接。

//释放数据库连接。实际是归还到连接池。

conn.close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值