`

数据库连接池的实现方式

阅读更多

转贴

 

 

 

 

查看文章
   

连接数据库的两种方式:

在Java应用程序中,数据库的连接一般有两种方式来得到。一种是通过java.sql.DriverManager的方式来得到数据库连接。这种方式不依赖于应用服务的支持,但是也不提供数据库连接池的功能。另外一种方式是通过javax.sql.DataSource的方式来得到数据库连接。在传统基于J2EE的应用需要通过JNDI来得到数据源(javax.sql.DataSource)对象,然后再通过数据源来得到相应的数据库连接。常见的应用服务器都支持这种方式,且一般都提供了数据库连接池的支持。如果不打算用应用服务器来管理你的数据库连接池,可以使用第三方的连接池管理工具如C3p0

一)jdbc直接连接,如下所示:   

    Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
    String user = "db2admin";
    String password = "db2kingdom";
    String url = "jdbc:db2://192.168.47.1:50000/TESTDB2";
    conn = DriverManager.getConnection(url,user,password);
   
    return conn;

二)使用数据源

   DataSource ds = null;
   try {
    Context ctx = new javax.naming.InitialContext();
    ds = (javax.sql.DataSource) (DataSource) ctx.lookup("jdbc/ccsb");

   } catch (NamingException e) {
    System.out.println("===初始化数据源失败!指定的JNDI不存在:jdbc/ccsb);
   } catch (Exception e) {
    e.printStackTrace();
   }
   return ds;

数据源的管理

一) 交由应用服务器来管理,然后在应用服务器的JNDI对象中通过lookup()方法来查找取得数据源.

在tomcat中配置server.xml文件:


        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@192.168.0.8:1521:ora9i"
        username="ccsb"
        password="ccsb"
        maxActive="20"
        maxIdle="10"
        maxWait="-1"/>

通过在中注册一个资源Resource,这时,该数据源就已经交由应用服务器来管理了.该应用启动的时候,该资源就会被实例话并在应用服务器JNDI对象中保存该实例的一个句柄“jdbc/ccsb”,当要使用该数据源的时候,可以通过lookup这个句柄来取得该对象,并将其强制转型.

二) 交由第三方的数据源管理组件

如C3p0组件等,此时无法通过索引应用服务器的JNDI树来获得该数据源,因为JNDI是应用服务器相关的.

数据库连接池

当使用数据源来操作数据库时,可以配置使用数据库连接池,来提高访问数据库的效率,对于连接池的管理也分为两种:1)应用服务器管理   2)第三方数据源管理组件来管理


分享到:
评论

相关推荐

    C#高效数据库连接池源码

    `ConnectionPool`可能是项目或类库的命名空间或类,包含实际的数据库连接池实现;`Demo`可能是一个示例应用程序,展示如何使用自定义的数据库连接池。 5. **连接池实现细节**: - **初始化**:在应用程序启动时,...

    数据库连接池技术详解

    在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。从而避免了常规数据库连接操作中可能出现的资源泄漏 。 由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能...

    JAVA 完整的数据库连接池实现

    在 Java 中,有多种流行的数据库连接池实现,如 Apache Commons DBCP、C3P0、HikariCP 和 Druid 等。这里我们将以 HikariCP 为例,讲解如何配置和使用数据库连接池。 1. **HikariCP 简介** HikariCP 是一个高性能...

    c# mysql数据库连接池实现

    c#语言下,使用netcore2.1框架,调用netstandard数据库连接池组件

    C# 数据库连接池 C# 数据库连接池

    ### C#中的数据库连接池实现 在C#中,主要使用ADO.NET框架来实现数据库连接池。以下是一些关键类和方法: 1. **System.Data.SqlClient.SqlConnection**:这是SQL Server数据库的连接类,支持连接池。在创建`...

    java实现数据库连接池

    Java 实现数据库连接池 Java 实现数据库连接池是指使用 Java 语言编写的数据库连接池,用于管理和分配...Java 实现数据库连接池是提高数据库访问效率和性能的一种有效方式,可以广泛应用于各种需要访问数据库的场景。

    非常好的数据库连接池实现

    数据库连接池 数据库连接池 数据库连接池 数据库连接池

    Java jdbc数据库连接池总结

    Java JDBC 数据库连接池总结 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。在 Web 应用开发的早期,主要使用的技术是 CGIASPPHP 等。之后,Sun 公司推出了基于 Java 语言的 ...

    thinkphp5-swoole 数据库连接池实现

    基于tp5的swoole支持,对th5的connection进行改造,使用Swoole\Coroutine\MySQL重写了基于swoole的PDO接口,实现了mysql的数据库连接池,本地测试可用。使用时,替换thinkphp/library/think/db/Connection.php,并...

    常用jdbc数据库连接jar包,数据库连接池jar包

    本资源集合了常用的JDBC数据库连接jar包,以及一些知名的数据库连接池实现,如dbcp和c3p0,这对于开发人员来说是非常宝贵的资源。 首先,让我们了解一下JDBC。JDBC提供了一套标准的API,包括接口和类,使得开发者...

    数据库连接池java代码实现

    数据库连接池在Java中的实现是提高应用程序性能的关键技术之一,它通过复用已存在的数据库连接,避免了频繁创建和销毁连接导致的系统资源浪费。本文将深入探讨如何使用Java代码来实现一个简单的数据库连接池,并解释...

    数据库连接池代码实现

    在本文中,我们将探讨如何实现一个简单的数据库连接池。首先,我们需要理解几个关键概念: 1. **连接池初始化**:在程序启动时,连接池会根据配置预先创建一定数量的数据库连接。这些连接在空闲时会被保存起来,...

    数据库连接池的实现(很完整(支持多种数据库

    综上所述,这个压缩包提供了一个全面的数据库连接池实现,适用于多种数据库,包括源码和测试,对于学习和开发数据库相关的应用程序具有很高的价值。通过研究和使用这个实现,开发者可以更好地理解和优化自己项目的...

    数据库连接池的例子数据库连接池的例子

    在实际应用中,有许多成熟的数据库连接池实现,例如 Apache 的 DBCP、C3P0、HikariCP 等,它们提供了更完善的功能,如连接健康检查、自动重连、连接超时处理等,提高了系统的稳定性和效率。开发人员可以根据项目需求...

    配置数据库连接池

    数据库连接池是现代应用程序中管理数据库连接的一种高效方式,它能显著提高系统性能,减少资源消耗。在给定的标题“配置数据库连接池”中,我们可以深入探讨数据库连接池的概念、工作原理,以及如何配置Oracle9i和...

    delphi数据库连接池

    此外,对于不同的数据库驱动(如ADO、BDE),可能需要采用不同的连接池实现策略,因为它们的API和特性可能会有所不同。 总之,Delphi数据库连接池是提高数据库应用性能和效率的重要手段,其设计和实现涉及到数据库...

    数据库连接池的一个简单实现

    在Java中,常见的数据库连接池实现有C3P0、Apache DBCP、HikariCP等。本文将介绍一个简单的自定义数据库连接池实现,主要涉及以下几个核心组件: 1. **连接池配置**:定义连接池的大小、超时时间、数据库连接参数...

    数据库连接池代码

    在Java中,有多种流行的数据库连接池实现,如Apache的DBCP、C3P0,以及HikariCP等。以HikariCP为例,它被广泛认为是性能最佳的连接池,因为它提供了快速的连接获取和释放,以及低延迟的特性。 使用数据库连接池的...

    JSP数据库连接池连接实例

    在JSP中,常见的数据库连接池实现有C3P0、Apache DBCP、HikariCP和Tomcat JDBC Connection Pool等。这些连接池库提供了API供开发者使用。例如,Tomcat JDBC Connection Pool可以集成到Web应用中,通过配置`context....

    自定义的数据库连接池

    7. **连接池实现**:常见的开源数据库连接池实现有C3P0、DBCP、HikariCP、Druid等。自定义连接池需要考虑如何实现这些功能,例如使用`java.sql.Connection`接口和`java.sql.DataSource`接口来管理数据库连接。 8. *...

Global site tag (gtag.js) - Google Analytics