网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  数据库连接池简介     
  文章作者:未知  文章来源:水木森林  
  查看:129次  录入:管理员--2007-11-17  
 
  数据库连接池简介

在传统的两层结构中,客户端程序在启动时打开数据库连接,在退出程序时关闭数据库连接。这样,在整个程序运行中,每个客户端始终占用一个数据库连接,即使在大量没有数据库操作的空闲时间,如用户输入数据时,从而造成数据库连接的使用效率低下。
在三层结构模式中,数据库连接通过中间层的连接池管理。只有当用户真正需要进行数据库操作时,中间层才从连接池申请一个连接,数据库操作完毕,连接立即释放到连接池中,以供其他用户使用。这样,不仅大大提高了数据库连接的使用效率,使得大量用户可以共享较少的数据库连接,而且省去了建立连接的时间。

连接池的配置使用

数据库连接池是应用服务器的一项基本功能,我们以apusic application server为例,来说明jdbc连接池的配置使用。

apusic jdbc连接池提供对多种数据库的支持,如oracle、ms sqlserver、sybase、informix、db2等。

apusic jdbc连接池可以通过数据库本身的jdbc driver连接到数据库,也可以通过jdbc-odbc桥连接到数据库。下面我们以oracle为例说明如何配置连接池:

oracle数据库的jdbc driver包文件classes111.zip在/usr/oracle/jdbc/lib(假设oracle的安装目录是/usr/oracle)目录下,首先将classes111.zip加入到系统的classpath中。然后在apusic/config/apusic.conf(假设安装目录为apusic) 中作如下设置:

<service
class="com.apusic.jdbc.poolmanager"
name="jdbcpool:name=jdbc/sample"
>
<attribute name="expirationtime" value="300"/>
<attribute name="mincapacity" value="5"/>
<attribute name="url" value="jdbc:oracle:thin:@192.168.19.136:1521:orcl"/>
<attribute name="connectionproperties" value="user=gtj,password=abc123"/>
<attribute name="driverclassname" value="oracle.jdbc.driver.oracledriver" />
<attribute name="maxcapacity" value="30"/>
</service>

expirationtime: 超时时间,单位是秒。当一个数据库连接超过expirationtime设定时间不被使用
时,系统会自动关闭这个数据库连接。默认值为300秒
mincapacity: 最小连接数
url: 数据库的url
connectionproperties: 连接属性,其中:user用户名,password密码
driverclassname: jdbc驱动程序类名
maxcapacity: 最大连接数
192.168.19.136: oracle所在计算机的ip地址。

调用连接池
我们以一个jsp程序为例,说明如何使用连接池。首先通过jndi得到datasource,再的得到连接connection,如下例所示:


<html>

<head>

<title>jsp sample</title>

</head>

<body>

<p>

<%@ page contenttype="text/html;charset=gb2312" %>

<%@ page import="

java.sql.*,

javax.naming.*,

javax.sql.*

"%>

<%

try{

context ctx = new initialcontext();

datasource ds = (datasource)ctx.lookup("jdbc/sample");

connection con = ds.getconnection();

statement stmt = con.createstatement();

resultset rs = stmt.executequery("select ename from emp");

while(rs.next()){

out.println("<p>" + rs.getstring(1));

}

rs.close();

stmt.close();

}catch(exception e){

system.out.println("jsp:" + e.getmessage());

}finally{

try{

con.close();

}catch(exception e1){}

}

%>

</body>

</html>
 
 
上一篇: 数据库连接池技术浅析    下一篇: 数据库乱码解决方案
  相关文档
如何制作最小的rcp程序压缩包 11-17
编写高级应用程序2 11-17
javascript实例教程(17) 使用字符串函数 11-16
jbuilder x 初体验 11-16
用jbuilder高效率开发java程序 11-17
使用datastream 读写文件之一 11-17
java与正则表达式(2年级之1) 11-17
jdo能给我们带来什么 11-17
爪哇语言单态创立性模式介绍(上) 11-17
教你用java id生成器去生成逻辑主键 11-17
软件测试:软件测试的基础知识概要介绍 01-22
新手入门:对j2ee初学者的学习流程介绍 11-16
基础:eclipse上的tomcat插件安装和调试 01-30
java学习之踏上旅途的第一步 11-17
(6)cldc api 11-17
克服j2se 1.3 ~ 1.4不兼容问题 hk2000c 11-17
propertiesedit.plugin_3.6.8_for_eclipse3.0 11-17
java中精确计算的一个类用bigdecimal 11-17
servlets:服务器端处理的极好选择 11-16
j2ee数据库设计入门 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息