自己动手写数据库连接池

本篇会实现一个数据库连接池,目的是让大家对数据库连接池的实现方式有一个深入的认识。

  1. 为什么要使用连接池?
    使用数据库连接池可以节省系统的许多的开销,频繁的操作数据库是一个很耗费资源的行为,网站的响应的速度也会下降,严重的时候可能导致服务器崩溃,因此使用数据库连接池势在必行。

  2. 数据库连接池的原理
    建立数据库的链接是一个很费时的操作,数据库连接池的核心就是链接复用。减少链接的建立。数据库连接池的基本思想就是建立一个缓冲池。预先在数据库缓冲池中取出一个,使用完毕之后再放回去即可。

  3. 数据库连接池的实现分析

    1. 并发问题
      为了使连接管理服务具有最大的通用性,必须考虑多线程环境,即并发问题,这个问题相对比较好解决,java支持并发管理支持,使用synachronized关键字保证线程同步;对于大型的企业级应用链接的不同的数据库。
      如何实现链接不同的数据库,采用的策略是单例模式的连接池管理类,在连接池管理类的唯一实例被创建的时候读取一个配置文件,配置文件中放置的多个数据库链接信息,根据配置文件提供的信息创建多个连接池的实例,每个实例都是一个特例数据库的连接池。连接池管理类为每个连接池实例取一个名字,通过不同的名字来管理不同的连接池。
  4. 事务管理
    通过设置Connection的AutoCommit属性为false,然后调用commit或rollback方式来实现,但是要高效进行Connection复用,就必须提供相应的事务支持机制。可采用每一个事务独占一个链接实现,这种方法大大降低事务管理机制。

  5. 数据库链接池的实现代码

这里写代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值