- 浏览: 168076 次
- 性别:
- 来自: 北京
最新评论
-
jpsb:
...
Spring中 Quartz 调度程序 scheduler JobDetailBean 注入 Service -
jinfreaks1981:
看不明白啊?请解释一下
Struts2 <div> id 动态生成方法 -
huivip:
多谢,刚刚把java7都卸载了,原来是这个原因
IDEA报错: Error: javac: 源版本 1.6 需要目标版本 1.6 -
youfengkai:
多谢,正好遇到问题了
IDEA报错: Error: javac: 源版本 1.6 需要目标版本 1.6 -
wmz110:
,谢谢LZ分享!很好用哦!
PL SQL 8.0.1 注册码
DBCP是Apache的一个开源项目:
commons.dbcp.jar
http://jakarta.apache.org/commons/dbcp/index.html
DBCP依赖Apache的另外2个开源项目
commons.collections.jar和commons.pool.jar
下载这些包并将这些包的路径添加到classpath中就可以使用dbcp做为项目中的数据库连接池使用了。
以下是我的连接池
java 代码
以上创建一个连接池,并从连接池中得到连接,连接池会管理每个连接,以上测试通过。
commons.dbcp.jar
http://jakarta.apache.org/commons/dbcp/index.html
DBCP依赖Apache的另外2个开源项目
commons.collections.jar和commons.pool.jar
下载这些包并将这些包的路径添加到classpath中就可以使用dbcp做为项目中的数据库连接池使用了。
以下是我的连接池
java 代码
import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.apache.commons.dbcp.ConnectionFactory; import org.apache.commons.dbcp.DriverManagerConnectionFactory; import org.apache.commons.dbcp.PoolableConnectionFactory; import org.apache.commons.dbcp.PoolingDriver; import org.apache.commons.pool.ObjectPool; import org.apache.commons.pool.impl.GenericObjectPool; public class PoolManager { private static String driver="oracle.jdbc.driver.OracleDriver",//驱动 url = "jdbc:oracle:thin:@192.168.31.60:testdata",//URL Name="ambition",//用户名 Password="tmxk168";//密码 private static Class driverClass = null; private static ObjectPool connectionPool = null; public PoolManager(){ } /** * 装配配置文件 * initProperties */ private static void loadProperties(){ try { java.io.InputStream stream = new java.io.FileInputStream("config.properties"); java.util.Properties props = new java.util.Properties(); props.load(stream); driver = props.getProperty("ORACLE_DRIVER"); url = props.getProperty("ORACLE_URL"); Name = props.getProperty("ORACLE_LOGIN_NAME"); Password = props.getProperty("ORACLE_LOGIN_PASSWORD"); } catch (FileNotFoundException e) { System.out.println("读取配置文件异常"); } catch(IOException ie){ System.out.println("读取配置文件时IO异常"); } } /** * 初始化数据源 */ private static synchronized void initDataSource() { if (driverClass == null) { try { driverClass = Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } /** * 连接池启动 * @throws Exception */ public static void StartPool() { loadProperties(); initDataSource(); if (connectionPool != null) { ShutdownPool(); } try { connectionPool = new GenericObjectPool(null); ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(url, Name, Password); PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); Class.forName("org.apache.commons.dbcp.PoolingDriver"); PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:"); driver.registerPool("dbpool", connectionPool); System.out.println("装配连接池OK"); } catch (Exception e) { e.printStackTrace(); } } /** * 释放连接池 */ public static void ShutdownPool() { try { PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:"); driver.closePool("dbpool"); } catch (SQLException e) { e.printStackTrace(); } } /** * 取得连接池中的连接 * @return */ public static Connection getConnection() { Connection conn = null; if(connectionPool == null) StartPool(); try { conn = DriverManager.getConnection("jdbc:apache:commons:dbcp:dbpool"); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 获取连接 * getConnection * @param name * @return */ public static Connection getConnection(String name){ return getConnection(); } /** * 释放连接 * freeConnection * @param conn */ public static void freeConnection(Connection conn){ if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 释放连接 * freeConnection * @param name * @param con */ public static void freeConnection (String name,Connection con){ freeConnection(con); } /** * 例子 * main * @param args */ public static void main(String[] args) { try { Connection conn = PoolManager.getConnection(); if(conn != null){ Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery("select * from tblgxinterface"); int c = rs.getMetaData().getColumnCount(); while(rs.next()){ System.out.println(); for(int i=1;i<=c;i++){ System.out.print(rs.getObject(i)); } } rs.close(); } PoolManager.freeConnection(conn); } catch (SQLException e) { e.printStackTrace(); } } }
以上创建一个连接池,并从连接池中得到连接,连接池会管理每个连接,以上测试通过。
发表评论
-
JDK 版本号对应的数字
2017-05-26 17:03 1217J2SE 8 = 52 (0x34 hex) J2SE ... -
Java在Linux平台编译出错,都是rt.jar惹的祸
2017-04-28 10:20 1006给公司项目做集成,发现项目在windows平台下能编译 ... -
Software\JavaSoft\Java Runtime Environment\CurrentVersion has value '1.8', but '
2017-03-31 17:57 1502Registry key 'Software\JavaSoft ... -
内存溢出和内存泄漏
2017-03-05 13:38 330内存溢出和内存泄漏 内存溢出 out of memory,是指 ... -
数组和List 互相转换 List to Array
2013-06-20 10:22 10192数组和List 相互转换, 可以是任意类型的数组 pac ... -
Java中Split函数的用法技巧
2013-05-09 14:27 923在java.lang包中也有String.split()方法, ... -
JavaMail 发邮件程序
2012-02-11 17:49 1045一个简单的发邮件程序 本人测试成功,请放心使用 部分代码修改成 ... -
HttpClient getMethod postMethod response 字体集
2011-12-28 11:25 1266getMethod.getResponseBodyAsStri ... -
多个数据源 JUnit Test 报错处理 No unique bean of type [javax.sql.DataSource]
2011-11-08 17:23 7438ssh多数据源报错处理方法 No unique bean o ... -
appfuse
2011-08-01 17:36 01.按照Appfuse官网的快速指南里面的"Crea ... -
java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess
2010-07-11 14:56 2406java.lang.NoSuchMethodError: or ... -
解决Ultraedit32 菜单字体小的问题
2010-01-13 16:19 0解决Ultraedit32 菜单字体小的问题 2009-10- ... -
数据库连接加密 配置文件加密
2010-01-11 17:16 1991重写连接池的setPassword()方法. 写密文解析成明文 ... -
应该记录什么样的日志
2009-06-07 12:39 1114您应该对所有不期望的错误条件 (异常)进行日志. ... -
异常处理
2009-05-22 16:17 1165异常是一种对象,用来表示异常的情况. 分为检查异常和非检查异常 ... -
Java创建Data类型数据
2009-03-04 14:20 1352Java创建Date类型数据 Date createDat ... -
创建Java类中 方法的原则
2009-03-04 14:10 1040多数方法的代码量在一行到六行之间,有些方法在六行到十二 ... -
ClassCastException
2009-01-15 15:28 1061ClassCastException异常是类型转换异常,这种异 ... -
iBatis的JpetStore示例中MVC机制实现的研究,BeanAction,BaseBean
2009-01-07 11:25 1519JpetStore中的Action与普通Struts的Acti ... -
Date类型转换成String (yyyy-MM-dd)
2008-10-11 18:03 2514public String date2String(Date ...
相关推荐
在Web项目开发中,DBCP连接池是不可或缺的一部分,因为它能够有效地管理数据库资源,避免频繁创建和关闭数据库连接,降低系统开销。 首先,让我们来了解一下DBCP的基本概念和工作原理。数据库连接池在初始化时会...
在给定的描述中提到,Hibernate ORM框架就曾使用DBCP作为其默认的连接池实现。 DBCP连接池的工作原理是预先创建一定数量的数据库连接,并将这些连接保存在一个池中。当应用程序需要与数据库交互时,不再直接创建新...
3. **commons-pool-1.5.6.jar**:Apache Commons Pool是对象池设计模式的实现,DBCP连接池依赖于这个库来管理其内部的数据库连接对象。对象池允许开发者在应用程序中复用已经创建的对象,而不是每次需要时都创建新的...
DBCP(Database Connection Pool)是Apache组织提供的一种开源数据库连接池实现,全称为"Jakarta DBCP"。它基于Java编写,旨在提高数据库访问效率,通过复用已存在的数据库连接,减少创建和销毁数据库连接时的开销,...
总之,DBCP作为一款经典的数据库连接池实现,虽然现在可能不是最佳选择,但其原理和使用方式对于理解数据库连接池的工作机制仍具有重要的学习价值。在实际项目中,开发者应根据需求和性能要求来选择合适的数据库连接...
总的来说,Java DBCP连接池是Java应用中管理和优化数据库连接的有效工具,通过合理配置和使用,能够显著提升应用的数据库访问性能,同时降低资源消耗。在实际开发中,开发者应根据项目需求和性能要求选择合适的连接...
标题中的“dbcp连接池jar包”指的是用于实现数据库连接池功能的Java库,即Commons DBCP的jar文件。这个jar包包含了DBCP所需的全部类和资源,开发者可以通过引入这个jar包到项目中,快速地集成数据库连接池功能。 ...
DBCP(Database Connection Pool)是Apache组织提供的一种开源数据库连接池组件,主要...总的来说,DBCP连接池是Java应用程序中用于高效管理数据库连接的重要工具,通过合理的配置和使用,可以显著提升系统运行效率。
**DBCP连接池的工作原理:** 1. **初始化**:在应用程序启动时,DBCP会预先创建一定数量的数据库连接并放入连接池。 2. **请求连接**:当程序需要与数据库交互时,它向连接池请求一个连接。连接池检查是否有空闲的...
总的来说,DBCP2是一个适用于学习和小型项目的数据库连接池实现,对于初学者来说,通过这个压缩包可以了解数据库连接池的基本工作原理和使用方式,对于开发者而言,它可以提供基本的数据库连接管理功能,但可能需要...
用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections * commons-dbcp2 * commons-logging * commons-pool2 * mysql-connector
DBCP(Database Connection Pool)是Apache组织提供的一个开源数据库连接池组件,全称为...通过合理地配置和使用DBCP连接池,开发者可以在SSH框架下实现高效、稳定的数据库操作,提升整个应用的性能和用户体验。
总的来说,"dbcp连接池所需包"包括`commons-dbcp.jar`和`commons-pool.jar`,它们是Spring框架中实现高效数据库连接管理的基础。通过使用DBCP,开发者可以创建一个高效的数据库连接池,从而提高应用的并发处理能力,...
DBCP虽然历史悠久,但在许多现代应用中已被其他更先进的连接池实现如HikariCP、C3P0、Druid等替代,这些连接池通常提供更好的性能和更丰富的功能。不过,理解DBCP的工作原理和使用方式对于理解数据库连接池的基本...
在标题"dbcp连接池常用包"中,"常用包"指的是DBCP连接池所需的必备库文件,这些文件包含了DBCP的不同版本,分别为1.3、1.4和1.5。每个版本可能对应着不同的功能特性和修复的bug,开发者可以根据项目的兼容性和需求...
DBCP(Jakarta DBCP)是Apache软件基金会提供的一个开源数据库连接池实现,它基于Jakarta Commons Pool对象池机制,提供了一种有效管理数据库连接的方式。 在Java应用程序中,频繁地创建和关闭数据库连接会消耗大量...
里面包含了commons-collections-3.1.jar commons-dbcp-1.2.2.jar commons-pool.jar ojdbc6.jar commons-dbcp-1.2.2 连接池的实现 commons-pool 连接池的依赖库 ojdbc6 orcale数据库驱动 到手即用
在这个"dbcp连接池使用例子"中,我们将深入理解DBCP的工作原理、配置方法以及如何在实际项目中集成和使用。 DBCP连接池的基本概念: 1. 数据库连接池:在应用程序启动时,预先创建并维护一定数量的数据库连接,这些...