快速业务通道

基于JDBC的数据库连接池技术研究与设计 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04

基于JDBC的数据库连接池技术研究与设计

时间:2010-12-15 计算机与信息技术 孙鑫鸽 陈刚 孙小玲

摘 要 本文介绍了基于JDBC的数据库连接池的工作原理,阐述了连接池技术 的事务处理、多数据库服务器等各项关键技术,提出了一个高效的连接池管理策 略,最后详细说明了数据库连接池应用的具体实现过程。

关键词 JDBC; 数据库; 连接池; 事务处理

随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置 越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans) 中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查询、修改和删 除等操作;最后断开数据库连接。使用这种开发模式,对于一个简单的数据库应 用,由于数据库的访问不是很频繁,只需要在访问数据库时创建一个连接,用完 后就关闭它,这样做不会明显的增大系统的开销。但是对于一个复杂的数据库应 用,情况就完全不同:频繁的建立、关闭数据库,会极大的降低系统的性能,增 大系统的开销,甚至成为系统的瓶颈。另外使用这种传统的模式,还必须管理数 据库的每一个连接,以确保他们能正确关闭,如果出现程序异常而导致某些连接 未能关闭,将引起数据库系统中的内存泄露,最终不得不重启数据库。因此采用 运行速度更快、数据库访问效率更高的数据库技术,以提高系统的运行效率将是 至关重要的。

为了解决这一问题,在JDBC2.0中提出了JDBC连接池技术,通过在客户之间共 享一组连接,而不是在它们需要的时候再为它们生成,这样就可以改善资源使用 ,提高应用程序的响应能力。

JDBC 概述

JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL 语句的JavaAPI,可以为多种关系型数据库(如Oracle、Sybase、SQL Server、 Access等)提供统一访问接口,它由一组Java语言编写的类和接口组成,使数据 库开发人员能够用标准JavaAPI编写数据库应用程序。

连接池技术

1、连接池原理

连接池技术的核心思想是:连接复用,通过建立一个数据库连接池以及一套 连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用 ,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进 行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提 高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和 具体数据库访问逻辑,使应用本身的复用成为可能。连接池主要由三部分组成( 如图1所示):连接池的建立、连接池中连接的使用管理、连接池的关闭。下面 就着重讨论这三部分及连接池的配置问题。

基于JDBC的数据库连接池技术研究与设计 - 编程入门网

图1 连接池模式

1.1 连接池的建立

应用程序中建立的连接池其实是一个静态的。所谓静态连接池是指连接池中 的连接在系统初始化时就已分配好,且不能随意关闭连接。Java中提供了很多容 器类可以方便的构建连接池,如:Vector、Stack、Servlet、Bean等,通过读取 连接属性文件Connections.properties与数据库实例建立连接。在系统初始化时 ,根据相应的配置创建连接并放置在连接池中,以便需要使用时能从连接池中获 取,这样就可以避免连接随意的建立、关闭造成的开销。

1.2 连接池的管理

连接池管理策略是连接池机制的核心。当连接池建立后,如何对连接池中的 连接进行管理,解决好连接池内连接的分配和释放,对系统的性能有很大的影响 。连接的合理分配、释放可提高连接的复用,降低了系统建立新连接的开销,同 时也加速了用户的访问速度。下面介绍连接池中连接的分配、释放策略。

连接池的分配、释放策略对于有效复用连接非常重要,我们采用的方法是一 个很有名的设计模式:Reference

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号