AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JSP

一种简单JDBC连接池的实现

51自学网 http://www.51zixue.net

1.前言 

数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接 (Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。 

在b基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(Application Server)的提供。 

本文,以JDBC规范为基础,介绍相关的数据库连接池机制,并就如果以简单的方式,实现有效地管理数据库资源介绍相关实现技术。 

2.连接池技术背景 

2.1JDBC 

JDBC是一个规范,遵循JDBC接口规范,各个数据库厂家各自实现自己的驱动程序(Driver),如下图所示: 


应用在获取数据库连接时,需要以URL的方式指定是那种类型的Driver,在获得特定的连接后,可按照固定的接口操作不同类型的数据库,如: 分别获取Statement、执行SQL获得ResultSet等,如下面的例子 : 

import java.sql.*;


..DriverManager.registerDriver(
                   new oracle.jdbc.
                   driver.OracleDriver());
Connection dbConn = DriverManager.getConnection   
(“jdbc:oracle:thin:@127.0.0.1:1521: 
  oracle”,“username”, “password” );
Statement st = dbConn.createStatement();
ResultSet rs = st.executeQuery(  
                    “select * from demo_table” );

some data source operation in herers.close();
st.close();dbConn.close();
 


在完成数据操作后,还一定要关闭所有涉及到的数据库资源。这虽然对应用程序的逻辑没有任何影响,但是关键的操作。上面是个简单的例子,如果搀和众多的if-else、exception,资源的管理也难免百密一疏。如同C中的内存泄漏问题,Java系统也同样会面临崩溃的恶运。所以数据库资源的管理依赖于应用系统本身,是不安全、不稳定的一种隐患。 

<

 

 

 
上一篇:JBuilder2005实战JSP之登录页面  下一篇:Struts2整合Spring&nbsp;Hibernate的CRUD实例