欢迎光临
我们一直在努力

JDBC Connection Pool-JSP教程,数据库相关

建站超值云服务器,限时71元/月

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

连接池的配置使用
数据库连接池是应用服务器的一项基本功能,我们以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>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » JDBC Connection Pool-JSP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章