对于一个简单的数据库应用,由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。
连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。
对于共享资源,有一个很著名的设计模式:资源池。该模式正是为了解决资源频繁分配、释放所造成的问题的。把该模式应用到数据库连接管理领域,就是建立一个数据库连接池,提供一套高效的连接分配、使用策略,最终目标是实现连接的高效、安全的复用。
数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。如:
外部使用者可通过getConnection 方法获取连接,使用完毕后再通过releaseConnection 方法将连接返回,注意此时连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。
数据库连接池技术带来的优势:
1. 资源重用
由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。
2. 更快的系统响应速度
数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
3. 新的资源分配手段
对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术,几年钱也许还是个新鲜话题,对于目前的业务系统而言,如果设计中还没有考虑到连接池的应用,那么…….快在设计文档中加上这部分的内容吧。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。
4. 统一的连接管理,避免数据库连接泄漏
在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。从而避免了常规数据库连接操作中可能出现的资源泄漏。一个最小化的数据库连接池实现:
分享到:
相关推荐
数据库连接池配置 <br>环境:xp2+IE7.0+tomcat5.028+mysql5.018 <br>1.假定tomcat 安装目录为:D:\Tomcat5 <br>2.假定程序目录为: D:\web\WebRoot <br> 目录设置请看WebRoot.xml 中有下面这句代码:...
采用jsp+servlet+javabean,jsp负责少量的页面处理,以servlet为主。... 开发调试平台为jbuilder9+tomcat4,... 数据库平台为ms sql server2000 数据库连接池为apache组织下jakarta项目组开发的commons-dbcp 1.0
A. 本留言本采用jsp+javabean+servlet+mysql B. 本系统运行环境: ...6、 此留言本实现了MVC模式,完全是通过servlet控制数据,而且使用了连接池,一些基本的类也是完全提供,对学习jsp的MVC模式有很大的帮助。
4、系统连接池可以灵活设定,默认使用系统自带的连接池,你可以配置使用 tomcat等容器自带的连接池。 5、同时支持mysql和sqlserver数据库。 6、后台管理登录地址:totgb/login.jsp 用户名:admin 密 码:admins
## 淘特JSP留言板 ###Description: ...4、系统连接池可以灵活设定,默认使用系统自带的连接池,你可以配置使用tomcat等容器自带的连接池。5、同时支持mysql和sqlserver数据库。 6、后台管理登录地址:totgb/l
3、此底层包含泛型DAO、Proxool连接池、国际化语言、DateUtil工具、ExcelUtil报表工具、自定义封装的弹框、批量删除、分页、上传等。 4、包含常用的工具:jquery、easy-ui、日期控件、highcharts图表控件、图片放大...
开发环境:J2SDK1.42+TOMCAT5.0+ACCESS2000 所有数据均采用数据库存储,采用JDBC连接池,直接连接数据库,不需要配置ODBC数据源即可直接运行。 运行环境:JSP/JavaBean开发的一套留言本系统,正常使用该软件您必须...
集成springmvc和hibernate的JPA项目源码,共85个文件,采用Java语言编写,涉及多种文件类型如JAR打包文件、Java源代码、XML配置文件、...该项目使用Druid数据库连接池,提供了一个高效、稳定的数据库连接管理解决方案。
据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...
本例子采用springboot,显示层为jsp,数据库为mybatis,数据连接池为druid,分页使用pagehelper,使用baseDao的方式进行数据库的操作很方便。
客户管理案例 1.目的:总结JDBC,和Servlet JSP结合到一起。 2.开发中的一些小技巧。 3.客户管理平台功能 * 添加客户 * 查询所有的客户的信息 * 修改客户信息 ... * c3p0连接池 * c3p0-0.9.1.2.jar
据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...
对数据库我们采用了数据库连接池,用户可以在配置文件中配置不同的连接池或者不使用连接池,对表操作也采用了预处理、批处理、事务处理等多种方式,用户可以在配置文件中配置数据库连接参数,包括连接数,超过连接数...
因为使用了proxool连接池.请确认你的Sql Server2000已安装了sp4补丁 本来想在后台增加个使用session bean+entity bean上传文件到数据库的功能,但由于时间关系.只写了一半 使用eclipse3.11+myeclipse4.0开发,可在...
基于B/S(Browser/Server)架构的3层开发模式逐渐取代C/S(Client/Server)架构的开发模式,成为开发企业级应用和电子商务普遍采用的技术。在Web应用开发的早期,主要使用的技术是CGI?ASP?PHP等。之后,Sun公司...
据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...
数据的存储和持久化由 HIENATER持久层实现,数据库采用MYSQL,数据源采用数据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的 封装性,继承性,多态性的三大特征,完全按照J2EE企业级网络...