思诚科技 seecen LOGO
咨询热线:0791-87557233
  首页 |   Java EE  
关于思诚
关注官方微信

JDBC Connection Pool

来源:网络    更新时间:2014-12-6


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


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


ApusicJDBC连接池提供对多种数据库的支持,如Oracle、MSSqlServer、Sybase、Informix、DB2等。


ApusicJDBC连接池可以通过数据库本身的JDBCDriver连接到数据库,也可以通过JDBC-ODBC桥连接到数据库。下面我们以Oracle为例说明如何配置连接池:


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


CLASS="com.apusic.jdbc.PoolManager"
NAME="JdbcPool:name=jdbc/sample"
>









ExpirationTime:超时时间,单位是秒。当一个数据库连接超过expirationTime设定时间不被使用
时,系统会自动关闭这个数据库连接。默认值为300秒
MinCapacity:最小连接数
URL:数据库的URL
ConnectionProperties:连接属性,其中:user用户名,password密码
DriverClassName:JDBC驱动程序类名
MaxCapacity:最大连接数
192.168.19.136:oracle所在计算机的IP地址。
 
调用连接池
我们以一个JSP程序为例,说明如何使用连接池。首先通过JNDI得到DataSource,再的得到连接Connection,如下例所示:










Jspsample











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


<%@pageimport="


java.sql.*,


javax.naming.*,


javax.sql.*


"%>


<%


try{


Contextctx=newInitialContext();


DataSourceds=(DataSource)ctx.lookup("jdbc/sample");


Connectioncon=ds.getConnection();


Statementstmt=con.createStatement();


ResultSetrs=stmt.executeQuery("selectENAMEfromEMP");


while(rs.next()){


out.println("

" rs.getString(1));


}


rs.close();


stmt.close();


}catch(Exceptione){


System.out.println("jsp:" e.getMessage());


}finally{


try{


con.close();


}catch(Exceptione1){}


}


%>







  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2018