-
数据库链接到底在何时关闭3
我在写DAO的时候到底将数据库链接何时关闭比较好呢?是每次用完都关吗?这样不是很耗时间吗?若不关闭的话在多人访问时他们用的是同一个链接吗?这样会产生并发问题吗?
我这么写链接行吗?如果改进比较好呢?public class GetPoolConnection { private static DataSource pool; static { try { Context env = new InitialContext(); pool = (DataSource) env.lookup("java:comp/env/jdbc/DWPP"); if(pool==null) logger.warn("'DBPool' is an unknown DataSource"); } catch(NamingException ne) { logger.warn("'GetDataSource is Exception",ne); } } public static Connection getDWDVLP() { try { return pool.getConnection(); } catch (SQLException e) { e.printStackTrace(); return null; } } }
public static List findMiddle() throws SQLException { Connection con = GetPoolConnection.getDWDVLP(); String sql = "select distinct * from TABLE; ArrayList Mid_items = null; PreparedStatement stmt = con.prepareStatemen(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery(sql); Mid_items = new ArrayList(); while (rs.next()) { DimCode Mid_item = new DimCode(); Mid_item.setID(rs.getString("ID")); Mid_item.setname(rs.getString("NAME")); Mid_items.add(Mid_item); } closeCon(con,stmt,rs); return Mid_items; } private static void closeCon(Connection con,PreparedStatement stmt,ResultSet rs) { try { if (stmt != null) stmt.close(); if (stmt != null) stmt.close(); if (rs != null) rs.close(); if (con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } }
2009年1月20日 14:04
4个答案 按时间排序 按投票排序
-
其实, 你关闭了连接, 并不是真的把连接关闭了, 只是告诉连接池, 可以让连接池回收了。 从连接池获得的连接只是被你使用的, 并不会被别人的THREAD使用。 因此你可以放心的使用。
另外, 请你看看连接池的实现机制, 比如 dbcp, c3p0, proxypool等等。 加强下自己的基础知识。2009年1月20日 20:31
-
你用的是数据连接池.用完后就要关闭连接.这样这条连接才会被连接池收回供其它用户使用,而并没有真正的关闭.如果你用完没有关闭,那么连接池就不能收回你现在使用的连接,再有新的请求时,连接池只能新建连接直到你设定的最大连接数为止,一旦到了最大连接数,那么其它用户只能等有空闲的连接.所以基于连接在用完后应该立即释放.
2009年1月20日 16:53
相关推荐
在IT行业中,数据库链接信息的初始化是任何应用与数据库交互的基础步骤。这涉及到配置应用程序以正确连接到数据库服务器,获取并管理数据。本主题将详细探讨如何使用`common-configuration`、`slf4j`和`logback`组件...
【PHP数据库链接类】是PHP开发中一个重要的概念,它允许程序员通过编程方式与各种数据库进行交互,如MySQL、PostgreSQL、SQLite等。在PHP中,数据库连接类通常被用来封装数据库操作,提供统一的接口,使得代码更易于...
数据库链接是IT领域中一个基础且重要的概念,尤其在关系型数据库管理中,如MySQL。MySQL是一种广泛使用的开源关系数据库,因其高效、可靠且易于学习而受到开发者的喜爱。本教程将面向初学者,深入浅出地讲解如何进行...
在分布式系统、网络应用以及多用户环境下,数据库链接扮演着至关重要的角色。本文将深入探讨数据库链接的相关知识点,包括其原理、类型、实现方式以及在实际应用中的重要性。 一、数据库链接原理 数据库链接基于...
标题提到的"php适用于各种数据库链接类.zip"提供了一个通用的解决方案,允许开发者轻松地与多种类型的数据库进行交互,如MySQL、PostgreSQL、SQLite等。这个类库旨在简化数据库操作,提高代码的可复用性和可维护性。...
在本讨论中,我们将深入探讨ASP.NET数据库链接文件的重要性和其工作原理。 1. 数据库连接字符串: 在ASP.NET中,数据库链接文件的核心是数据库连接字符串,这是一个包含用于连接到特定数据库的所有必要信息的字符...
在IT行业中,数据库链接模板是实现Java应用程序与数据库交互的一种常用方法。这个主题涉及到Java的JDBC(Java Database Connectivity)API,它允许开发者编写能够连接、查询和操作各种数据库的代码。下面将详细阐述...
在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它结合了Java编程...以上就是JSP数据库链接及增删改查的基本知识点,掌握了这些,你就可以在JSP项目中有效地操作数据库,构建功能丰富的Web应用。
MySQL数据库链接jar包是Java开发者在进行MySQL数据库操作时必不可少的工具。这个资源包含了MySQL官方提供的Java数据库连接器(JDBC)驱动,使得Java应用程序能够与MySQL数据库进行通信,执行SQL查询、更新数据库内容...
数据库链接通用模块在VB(Visual Basic)编程中扮演着至关重要的角色,它是连接应用程序与数据库系统之间的桥梁。VB是一款流行的事件驱动编程环境,常用于开发Windows应用软件,而数据库链接模块则使得VB程序能够...
"Poolman数据库链接池"是一种高效管理数据库连接的工具,其主要目的是优化数据库操作的性能,减少系统资源的消耗,并提高应用程序的响应速度。在Java等编程语言中,数据库连接池是实现多线程环境下共享数据库连接的...
本实例主要关注如何使用JDBC进行数据库链接操作,我们将深入探讨JDBC的核心概念、数据库连接步骤以及在实际应用中的注意事项。 首先,JDBC提供了四个核心接口,它们分别是DriverManager、Connection、Statement和...
在Java编程语言中,连接和操作各种数据库是一项基础但至关重要的任务。这通常涉及到使用Java Database Connectivity (JDBC) API,这是一个Java标准,允许Java应用程序与各种关系型数据库进行交互。下面将详细介绍...
本文将详细介绍如何使用ADO技术链接到Access数据库,并在MFC(Microsoft Foundation Classes)应用程序中,特别是在控件ListCtrl中,读取数据库中的数据。 首先,了解ADO的核心组件是必要的。它们包括: 1. **...
### LabVIEW与SQL数据库链接的知识点 #### 1. LabVIEW软件概述 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器(National Instruments)公司推出的一款图形化编程软件。它主要...
Delphi 数据库链接池,简单来说,就是一种管理数据库连接的技术,它允许应用程序重复使用已打开的数据库连接,而不是每次需要时都创建新的连接。这有助于减少网络延迟,降低系统资源消耗,并提升应用程序的响应速度...
Java链接mysql数据库代码,从链接到关闭,注释详细,一目了然
5. **释放资源**:虽然连接在使用完毕后会自动归还给连接池,但为了防止内存泄漏,DBUtil可能会提供一个`close()`方法,用于在程序结束或不再需要数据库连接时,关闭整个连接池。 在实际应用中,使用DBUtil类可以极...
需要注意的是,为了确保数据一致性,通常需要在数据库操作前后处理异常,并在完成操作后关闭数据库连接。 总之,VB.NET与Access数据库的链接主要涉及OleDbConnection、OleDbCommand、OleDbDataAdapter和DataSet等类...
这个名为"JAVA链接数据库的通用方法类"的资源提供了一个通用的Java类,可以帮助开发者便捷地与各种数据库系统(如MySQL、Oracle等)建立连接。下面我们将深入探讨这个主题,了解如何在Java中实现数据库连接以及通用...