leign

Contact: Email: leign.du@gmail.com MSN: dujiali1987@msn.cn
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

  • 随笔 - 12
  • 文章 - 12
  • 评论 - 8
  • 引用 - 0

常用链接

留言簿

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

有关JDBC连接池

我们知道JDBC使用数据库URL来说明数据库驱动程序,通过指定DriverManager装入一个驱动程序类。

Connection connection=DriverManager.getConnection(url,login,password);

Connection接口创建一个Statement实例执行需要的查询:

Statement stmt=connection.createStatement();

Statement具有各种方法(API),如executeQuery,execute等可以返回查询的结果集。结果集是一个ResultSet对象。

一个动态的网站频繁地从数据库中取得数据来构成html页面。每一次请求一个页面都会发生数据库操作。但连接数据库却是一个需要消耗大量时间的工作,因为请求连接需要建立通讯,分配资源,进行权限认证。这些工作很少能在一两秒内完成。所以,建立一个连接,然后再后续的查询中都使用此连接会大大地提高性能。因为servlet可以在不同的请求间保持状态,因此采用数据库连接池是一个直接的解决方案。
1、数据库连接池类DBConnectionPool

a、从池中取得一个打开的连接;
b、将一个连接返回池中;
c、在关闭时释放所有的资源,并关闭所有的连接。
另外,DBConnectionPool还处理连接失败,比如超时,通讯失败等错误,并且根据预定义的参数限制池中的连接数。

DBConnectionPool的构造

public DBConnectionPool(String name, String URL, String user, String password, int maxConn) {
this.name = name;

this.URL = URL;

this.user = user;

this.password = password;

this.maxConn = maxConn;

}



2、管理者类DBConnetionManager,是一个容器将连接池封装在内,并管理所有的连接池。它的方法有:

  a、 调用和注册所有的jdbc驱动程序;

  b、 根据参数表创建DBConnectionPool对象;

  c、 映射连接池的名字和DBConnectionPool实例;

  d、 当所有的连接客户退出后,关闭全部连接池。
此类使用了单态模式,使用时只存在一个静态实例

posted on 2009-10-15 15:14 leign 阅读(600) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理