`

DBCP的使用优化数据库的连接

阅读更多

步骤如下:

1,使用DBCP必须用的三个包:

       commons-dbcp-1.2.1.jar, commons-pool-1.2.jar, commons-collections-3.1.jar

2,配置参数。

3,Connection conn= BasicDataSourceFactory.createDataSource(properties);

 

配置文件(dbcpconfig.properties)如下:

#连接设置

driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

url=jdbc:sqlserver://localhost:1433;databaseName=mp

username=sa

password=mengya

#<!-- 初始化连接 -->

initialSize=10

#最大连接数量

maxActive=50

#<!-- 最大空闲连接 -->

maxIdle=20

#<!-- 最小空闲连接 -->

minIdle=5

#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60 -->

maxWait=60000

#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]

#注意:"user" "password" 两个属性会被明确地传递,因此这里不需要包含他们。

connectionProperties=useUnicode=true;characterEncoding=gbk

 

#指定由连接池所创建的连接的自动提交(auto-commit)状态。

defaultAutoCommit=true

 

#driver default 指定由连接池所创建的连接的只读(read-only)状态。

#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix

defaultReadOnly=

#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。

#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE

defaultTransactionIsolation=READ_UNCOMMITTED

 

JDBC工具类如下:

package com.mengya.DBConnUitl;

 

import java.io.InputStream;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

 

import javax.sql.DataSource;

 

import org.apache.commons.dbcp.BasicDataSourceFactory;

 

public class DBConnUitl {

    private InputStream inStream;

    private static Properties pro=null;

    private DataSource datasource;

    public static DBConnUitl instance;

   

    private DBConnUitl(){

       inStream=this.getClass().getResourceAsStream("/dbcpconfig.properties");

       pro=new Properties();

       try {

           pro.load(inStream);

           datasource=BasicDataSourceFactory.createDataSource(pro);

       } catch (Exception e) {

           e.printStackTrace();

       }

    }

   

    public static DBConnUitl getDBConnUitl(){

       if(instance==null){

           synchronized (DBConnUitl.class) {

              if(instance==null){

                  try {

                     instance=new DBConnUitl();

                  } catch (Exception e) {

                     e.printStackTrace();

                  }

              }

           }

       }

       return instance;

    }

   

    public Connection GetConnection(){

       try {

           return datasource.getConnection();

       } catch (SQLException e) {

           e.printStackTrace();

           throw new RuntimeException("得到数据库连接失败!");

       }

    }

   

    public void free(ResultSet rs,Statement sta,Connection conn){

       try {

           if(rs!=null){

              rs.close();

           }

       } catch (Exception e) {

           e.printStackTrace();

       }finally{

           try {

              if(sta!=null){

                  sta.close();

              }

           } catch (Exception e) {

              e.printStackTrace();

           }finally{

              if(conn!=null){

                  try {

                     conn.close();

                  } catch (SQLException e) {

                     e.printStackTrace();

                  }

              }

           }

       }

    }

}

 

测试:

public static void main(String[] args) {

       DBConnUitl db=DBConnUitl.getDBConnUitl();

       for(int i=0;i<10;i++){

           Connection conn=db.GetConnection();

           System.out.println(conn);

           db.free(null, null, conn);

       }

    }

 

分享到:
评论
4 楼 FYIHDG 2014-09-25  
3 楼 JAVA疯子 2013-07-18  
lehsyh 写道
既然是连接池,我觉得这个free方法中的conn是不是不用关闭了.

的确有点多余
2 楼 lehsyh 2013-05-07  
既然是连接池,我觉得这个free方法中的conn是不是不用关闭了.
1 楼 yanshuihualiveses 2009-04-25  
  

相关推荐

    jdbc与dbcp数据库连接

    在Java编程领域,数据库连接是应用开发中的关键环节。...结合使用JDBC和DBCP,开发者可以在Java应用中实现高效且易于管理的数据库连接。在实际开发中,理解并掌握这些技术对于构建健壮的数据库应用至关重要。

    dbcp.rar数据库连接池工具包

    数据库连接池是现代应用程序开发中...了解并熟练使用DBCP可以帮助开发者优化数据库访问性能,降低系统资源消耗,提升应用的整体运行效率。在实际项目中,正确配置和使用数据库连接池是确保系统稳定性和性能的关键步骤。

    dbcp数据库连接池使用jar包

    总的来说,DBCP数据库连接池是Java应用程序中提高数据库访问效率的重要工具,通过合理配置和使用,可以显著优化数据库操作性能,降低系统资源消耗。在实际项目中,根据具体需求选择合适的数据库连接池组件,对于提升...

    dbcp数据库连接池

    **数据库连接池(DBCP)** 是一个在Java应用程序中管理数据库连接的工具,它能够有效地提高数据库操作的性能和效率。...理解和掌握DBCP的使用和配置,对于理解数据库连接池的工作原理和提升应用性能具有重要意义。

    DBCP数据库连接池包下载

    总的来说,DBCP是一个高效且易用的数据库连接池实现,对于Java应用开发来说,它能够优化数据库访问性能,提升系统效率,同时提供了丰富的配置选项以适应不同的应用场景。在实际使用中,开发者需要根据应用的规模和...

    Apache Commons DBCP 软件实现数据库连接池

    总之,Apache Commons DBCP是Java应用中实现高效数据库连接管理的重要工具,通过合理配置和使用,能够显著提升系统的运行效率和资源利用率。开发者应当熟练掌握其使用方法和特性,以便在实际项目中得心应手。

    DBCP(数据库连接池)

    在Java应用程序中,DBCP可以帮助管理和优化数据库连接,提高应用性能和资源利用率。数据库连接池在多线程环境下尤其重要,因为它减少了创建和销毁数据库连接的开销,这些操作通常是非常昂贵的。 **数据库连接池工作...

    用apache的dbcp来建立数据库连接池

    总的来说,Apache DBCP提供了一个简单易用且功能强大的数据库连接池解决方案,通过合理配置和使用,可以有效地提升Java应用处理数据库操作的效率和稳定性。在学习和实践中,应深入了解其各项配置参数及使用场景,以...

    dbcp数据库连接池jar包

    综上所述,DBCP数据库连接池是Java Web开发中常用的一种数据库连接管理工具,通过合理的配置和使用,可以显著提高应用的性能和稳定性。在实际项目中,结合Spring等框架,可以更便捷地管理和使用数据库连接。确保正确...

    开源数据库连接池dbcp

    开源数据库连接池DBCP,全称为Jakarta-Commons-DBCP,是Apache软件基金会Jakarta项目中的一个组件,主要用于解决Java应用程序...在实际开发中,结合适当的文档学习和实践,可以更好地利用DBCP来优化数据库连接的管理。

    common-dbcp2数据库连接池参数说明

    ### common-dbcp2数据库连接池参数详解 ...综上所述,正确配置`commons-dbcp2`中的这些参数对于优化数据库性能、确保应用程序的稳定运行至关重要。开发者需要根据实际应用场景仔细评估这些参数的取值,以达到最佳效果。

    DBCP的数据库连接池需要用的包 commons-dbcp commons-pool-current

    DBCP(Jakarta Commons DBCP)是Apache软件基金会Jakarta项目下的一个组件,全称为“Jakarta Commons Database Connection ...在实际开发中,正确配置和使用这两个组件对于优化数据库操作和提高应用整体性能至关重要。

    DBCP 数据库连接池JNDI连接 学习笔记

    这篇“DBCP 数据库连接池JNDI连接 学习笔记”主要探讨了如何结合JNDI(Java Naming and Directory Interface)来使用DBCP进行数据库连接管理。JNDI提供了一种标准的方式来查找和绑定资源,如数据源,在企业级应用中...

    DBCP数据库连接池

    - `ObjectPool`: 对象池接口,DBCP使用`commons-pool`中的实现,如`GenericObjectPool`,来管理数据库连接。 **3. DBCP配置** DBCP的配置通常在XML文件中进行,包括以下关键参数: - `driverClassName`: 数据库驱动...

    DBCP jar包 连接数据库必须用到的

    DBCP(Database Connection Pool)是Apache软件基金会提供的一个开源数据库连接池组件,它基于Jakarta Commons DBCP项目。在Java应用中,数据库连接池是一个非常重要的组件,它能够有效地管理数据库连接,提高应用...

    DBCP数据库连接池jar包

    - 性能优化:通过连接复用,减少了数据库连接创建和释放的开销。 - 资源管理:可以控制最大连接数,防止过多的并发导致数据库压力过大。 - 故障恢复:检测并自动处理无效的数据库连接。 - 容错性:即使在数据库...

    dbcp数据库连接池所需jar包

    使用DBCP数据库连接池,你需要在你的Java项目中引入这三个JAR文件,并进行相应的配置。以下是一些基本配置步骤: 1. 将这三个JAR文件添加到项目的类路径中。 2. 创建一个XML配置文件(如`dbcp-config.xml`),定义...

    DBCP配置数据库连接池需要的jar包

    总之,DBCP是一个基础的数据库连接池实现,理解其配置和使用对于开发Java应用程序特别是Web应用是非常重要的。在实际项目中,根据具体需求选择合适的连接池实现,并对其进行适当的配置,可以显著提升系统的性能和...

    用apache的dbcp建立数据库连接池

    Apache DBCP(Database Connection Pool)是Apache组织提供的一款开源的数据库连接池组件,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。在Java应用程序中,使用DBCP可以帮助我们减少频繁创建和...

Global site tag (gtag.js) - Google Analytics