示例代码:如何正确close从连接池中取得的db连接

原创 2006年05月25日 14:26:00
Here is an example of properly written code to use a db connection obtained from a connection pool:
  Connection conn = null;
  Statement stmt = null;  // Or PreparedStatement if needed
  ResultSet rs = null;
  try {
    conn = ... get connection from connection pool ...
    stmt = conn.createStatement("select ...");
    rs = stmt.executeQuery();
    ... iterate through the result set ...
    rs.close();
    rs = null;
    stmt.close();
    stmt = null;
    conn.close(); // Return to connection pool
    conn = null;  // Make sure we don't close it twice
  } catch (SQLException e) {
    ... deal with errors ...
  } finally {
    // Always make sure result sets and statements are closed,
    // and the connection is returned to the pool
    if (rs != null) {
      try { rs.close(); } catch (SQLException e) { ; }
      rs = null;
    }
    if (stmt != null) {
      try { stmt.close(); } catch (SQLException e) { ; }
      stmt = null;
    }
    if (conn != null) {
      try { conn.close(); } catch (SQLException e) { ; }
      conn = null;
    }
  }
 
摘自:

The Apache Jakarta Tomcat 5 Servlet/JSP Container

JNDI Datasource HOW-TO

JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题

(1)    主要问题  针对关闭connection是否会自动关闭Statement和ResultSet的问题,以及Statement和ResultSet所占用资源是否会自动释放问题,JDBC...
  • qiruiduni
  • qiruiduni
  • 2014年09月05日 13:41
  • 923

RabbitMQ客户连接池的实现

RabbitMQ客户连接池的实现
  • QQ994406030
  • QQ994406030
  • 2016年11月03日 11:11
  • 5086

使django与数据库保持长连接

最近遇到一个很蛋疼的问题,写了一个后台管理系统, 由于是后台管理系统,所以使用频率不是很高,当django程序在闲置一段时间后,再次打开后台系统,就变得很慢,然后又好了。查了很多方面,从模板引擎到请求...
  • ielnvnh
  • ielnvnh
  • 2014年02月26日 00:49
  • 1586

动态代理实现数据库连接池功能(代理Connection的close方法)

package cn; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import jav...
  • u010644448
  • u010644448
  • 2016年07月13日 16:28
  • 974

Spring框架中获取连接池的四种方式

1、连接池概述  数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正...
  • eff666
  • eff666
  • 2017年02月28日 20:28
  • 2523

使用数据库连接池获取JDBC数据库

为什么必须使用数据库连接池:   1.普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接时都要将Connection加载到内存中,再验证用户名和密码。需要数据库连接...
  • caidie_huang
  • caidie_huang
  • 2016年09月23日 16:23
  • 1954

使用spring配置C3P0连接池 并通过手动获取spring的ApplicationContext和bean对象使用库连接。

创建一个javaweb项目引入如下包以及数据库驱动jar包,并创建一个spring-conf.xml配置文件 spring-conf.xml配置如下: ...
  • teshazhuang7308
  • teshazhuang7308
  • 2017年02月18日 23:47
  • 1626

数据库连接池的实现原理,请求怎么样去获取连接,关闭连接时,连接池是销 .

连接池的基本工作原理   1、基本概念及原理   由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池 (Resource Po...
  • maguanghui_2012
  • maguanghui_2012
  • 2015年06月24日 10:31
  • 3682

DBCP数据库连接池原理分析

在比较大的项目中,需要不断的从数据库中获取数据,java中则使用JDBC连接数据库,但是获取数据库的连接可是相当耗时的操作,每次连接数据库都获得 、销毁数据库连接,将是很大的一个开销。为了解决这种开销...
  • jiaomingliang
  • jiaomingliang
  • 2015年05月25日 10:39
  • 1942

Druid连接池一个设置引发的血案

参考:http://my.oschina.net/haogrgr/blog/224010 今天在一台配置很低的机器上运行批量更新的程序~~~     大概跑了三十分钟~~~这配置~~~...
  • jueshengtianya
  • jueshengtianya
  • 2016年01月15日 11:27
  • 8781
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:示例代码:如何正确close从连接池中取得的db连接
举报原因:
原因补充:

(最多只允许输入30个字)