Java数据库连接池的实现(不用框架)

前言:因为需要正式做项目,了解到了连接池这个东西。在网上找了很多资料,发现都是大同小异,各种转载,看上去搜出来了几十个答案,结果很可能是同一个。并且大多都是基于框架的数据库连接池。可是我只是想采用MVC做一个不是很大的项目,不需要使用到框架啊。这可怎么办,最后没办法,弄清楚连接池的原理,配合网上的资料,自己写一个简单的吧(这里暂时不考虑多线程操作,后面会继续完善这个连接池,自己挖坑,后面慢慢补)
1、连接池是什么以及连接池的好处

这里想借用老师的例子,觉得非常的贴切。我是一个图书管理员(CPU),当需要有人来借书的时候(进行数据库操作),我首先需要去图书馆找到这本书(连接数据库),然后登记把书给借书的人(执行并返回执行结果),人们来还书的时候,我们再把书放回图书馆(关闭数据库)。这是我们普通的做法,这样的做法有一个问题是这样的,图书管理员在找书的时候需要花费10分钟(连接数据库),登记把书给借书的人(执行SQL语句)只需要1分钟。这就极大的降低了性能,因此就图书管理员就想了一个办法,我首先放一些书放在前台书桌上(连接池),然后别人来借书的时候(进行数据库操作的时候),我直接看书桌上还有没有书,如果有的话,直接登记就可以了,花费的时间约为1分钟,相对之前的借书流程提高了11倍。如果没有的话,我们再去图书馆找这本书(连接数据库)。在别人还书的时候,我们也不直接把书放回图书馆,而是放在书桌上(不关闭连接,放入连接池)。

2、简单连接池的具体实现

创建一个连接池,基本原理就是,我们先创建一堆数据库连接放在List中(初始化),在要进行连接的时候,我们判断是否连接池中还有连接,如果有就直接从连接池中获取,如果没有,我们再重新创建连接。并且我们使用完成以后也不要关闭,而是重新放回List中。
IDatabaseConnection接口文件

package DBPool;

import java.sql.Connection;
/**
 * @author xiaoD
 * @date 2017年11月22日 上午9:00:05
 * Description: 定义一个接口,更换数据库的时候方便
 */
public interface IDatabaseConnection {
   
    //初始化
    
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值