public class DBConnectionPool {
private static int MIN_SIZE = 2;
private static int MAX_SIZE = 5;
private static Vector pool = new Vector();
static {
for(int i=0; i<MIN_SIZE; i++) {
pool.add(createConnection());
}
}
private static Connection createConnection() {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.0.73:1521:bjsxt", "cms", "cms");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static Connection getConnection() {
Connection conn = null;
int last_index = pool.size() - 1;
if(pool.isEmpty()) {
conn = createConnection();
} else {
conn = (Connection)pool.remove(last_index);
}
return conn;
}
public static void close(Connection conn) throws SQLException {
if(pool.size() < MAX_SIZE) {
pool.add(conn);
} else {
conn.close();
}
}
}
分享到:
相关推荐
这时候,就需要手动设计并实现一个自定义的数据库连接池。实现自定义连接池的关键步骤如下: 1. **初始化连接池**:定义连接池的最大连接数、初始连接数等参数,并根据这些参数创建初始的连接。 2. **提供获取连接...
数据库连接池的基本原理是:当一个应用请求一个新的数据库连接时,连接池不会立即创建一个新的连接,而是从已有的连接池中返回一个已存在的、可重用的连接。如果池中没有空闲连接,它会根据预设的规则创建新的连接并...
### 数据库连接池的原理机制深入解析 #### 一、基本概念及原理 数据库连接池是一种用于管理和重用数据库连接的技术。它通过预创建并维护一定数量的数据库连接,使得应用程序能够快速获取并释放这些连接,从而提高...
Apache Commons DBCP(Database Connection Pool)是 Apache 组织提供的另一个流行数据库连接池实现,版本 1.4 是一个稳定版本。DBCP 的主要特性包括: 1. **基于 Jakarta POI**:DBCP 基于Jakarta POI,它是一个...
- DBCP (Apache Commons DBCP):Apache提供的基础数据库连接池,简单易用。 - HikariCP:高性能的连接池,设计目标是提供最低的延迟和最高的性能。 - Druid:阿里巴巴开源的数据库连接池,具有监控、扩展性强等...
在这个话题中,我们主要讨论的是一个简单的数据库连接池实现,以及为什么选择使用`Vector`这个特定的集合类。 数据库连接池的工作原理是预先创建并维护一定数量的数据库连接,当应用程序需要与数据库交互时,而不是...
Java连接池,也称为JDBC连接池,是Java应用程序中管理数据库连接的一种高效方式。它通过预先创建并维护一定数量的数据库连接,避免了每次应用需要连接数据库时的开销,提高了系统的性能和响应速度。在Java中,有许多...
在`MyConnectionHandler.java`这个文件中,我们可以推测它可能实现了一个自定义的数据库连接池。这个类可能包含以下关键部分: 1. **初始化连接池**:在类的初始化阶段,它会根据配置(如最大连接数、最小连接数等...
以下是一个简单的数据库连接池配置示例: ```properties # Druid 数据库连接池配置 druid.datasource.initial-size=5 druid.datasource.min-idle=5 druid.datasource.max-active=20 druid.datasource.test-on-...
### 有关Struts中的数据库连接池问题解决 在开发基于Web的应用程序时,尤其是在使用Struts框架这样的MVC(Model-View-Controller)架构中,数据库连接管理是至关重要的一个环节。由于数据库连接是一种关键、有限且...
### 数据库连接池配置终极指南 #### 一、前言 在现代软件开发过程中,数据库作为数据存储的核心组件,其性能直接影响着应用的整体表现。为了提高数据库访问效率并减少资源消耗,合理配置数据库连接池至关重要。本...
2. DBCP (Apache BasicDataSource):Apache的数据库连接池,基于Jakarta-pool,相对简单易用。 3. HikariCP:高性能的连接池,设计目标是提供最小的延迟和最佳的性能。 4. Druid:阿里巴巴开源的数据库连接池,集成...
数据库连接池的基本工作原理是通过维护一个连接池,即预创建一定数量的数据库连接,并将它们存储在内存中,供多个数据库访问请求共享。当需要访问数据库时,应用程序不再直接创建新的连接,而是从连接池中获取一个已...
具体而言,文章重点介绍了在设计一个面向物流企业的电子商务系统——包括在线购物和配送管理系统时,如何实现数据库连接池和DAO模式。 #### 逻辑结构与功能结构 ##### 逻辑结构 从逻辑结构来看,系统被分为四个...
通过使用第三方库如DBUtils或手动实现连接池,我们可以构建一个高效可靠的数据库连接管理机制。本文提供的代码示例和最佳实践将帮助你在实际项目中实现和优化数据库连接池。希望这篇文章能够成为你学习和应用数据库...
**c3p0数据库连接池**是Java后端开发中常用的一个开源的数据库连接池组件,主要用于管理和优化数据库连接。它的全称是ComMchange V3 Pooled Database Connections,由Maurice Priess创建,旨在提供一个高效、灵活且...