数据库连接池

简单的数据库连接池

  1. 实现DataSource()接口,规范
  2. 构造方法建立多个连接,存进集合List里面
  3. getConnection();获取连接
  4. addBack();归还连接

出现的问题

1.需要额外记住addBack()方法,这个方法不是DataSource()的抽象方法

2.需要用单例模式来解决连接池的唯一性

3.无法面向接口编程,addBack的时候无法通过,需要通过修改connect的close()方法来替代addBack的方法,把关闭做成归还,这样的话,用户代码那边close关闭就等于归还连接。

但是不知道connection这个接口的实现类是什么,连继承都不知道继承哪一个类。我们平时都是直接通过connection这个接口和驱动DriverManager.getConnection来获取connection这个类来用的。这样我们无法继承然后重写close。

这里需要用到装饰者模式,把connection的实现类传进装饰类实现connection,其他的方法直接调用原本的方法,close方法自己写,然后把这个装饰者类返回出去。用户不需要知道用的是哪一个connection实现类,只需要用connection这个接口的方法就好了。


DBCP   apache

先导包,commons-dbcp-1.4.jar、commons-pool-1.5.6.jar然后buildpath

具体代码和普通的jdbc使用相似

C3P0、hibernate、spring:开源连接池


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值