`
andy136566
  • 浏览: 290637 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据库连接池,数据源,数据库连接,JNDI,JAVA

阅读更多
连接数据库的两种方式:

在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)第三方数据源管理组件来管理

[转]http://hi.baidu.com/zoho007/blog/item/d90a1063a16173630c33fa28.html
分享到:
评论

相关推荐

    JNDI数据库连接池

    JNDI(Java Naming and Directory Interface)数据库连接池是Java应用程序中管理数据库连接的一种高效方式。它提供了一种标准的接口,使得应用程序可以通过名称查找来获取和释放数据库连接,而不是每次需要时都创建...

    JAVA数据库连接池

    Java数据库连接池是Java开发中一个非常重要的技术,它主要用于管理数据库连接,提高数据库操作的效率和性能。在Java应用程序中,频繁地创建和关闭数据库连接会导致大量的系统资源浪费,而连接池则可以复用已建立的...

    Tomcat下对Oracle数据库连接池数据源的配置

    以上就是Tomcat服务器下配置Oracle 10g数据库连接池数据源的详细步骤。通过正确的配置和管理,你可以确保应用程序高效、稳定地与数据库交互。记得定期检查和调整连接池参数,以适应不同阶段的应用负载。

    java数据库连接池.rar

    数据库连接池是Java应用程序在处理数据库交互时的重要组件,它能有效地管理数据库连接,提高系统性能,降低资源消耗。在Java开发中,我们通常会使用像C3P0、Druid这样的连接池来优化数据库访问。JDBC(Java Database...

    java 数据库 连接池驱动.rar

    Java数据库连接池驱动是Java应用程序在访问数据库时用于优化资源管理的一种技术。它提供了一种在多个数据库操作之间重用数据库连接的方式,从而避免了频繁创建和关闭连接带来的性能开销。连接池的核心思想是池化资源...

    Java 数据库连接泄漏 解决方法

    数据库连接泄漏是指应用程序在使用完数据库连接后没有正确地关闭这些连接,导致连接池中的可用连接数量逐渐减少,最终可能耗尽所有可用连接。这种情况会严重影响系统的稳定性和响应时间。 #### 三、临时解决连接...

    jndi 数据库连接池 & 监听

    数据库连接池,又称为数据源,是管理和复用数据库连接的一种机制,可以有效地提高应用处理数据库请求的效率,避免频繁地创建和关闭数据库连接。 本资源包含对JNDI数据库连接池的详细讲解,以及监听器的代码实例和...

    在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试

    ### 在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试 #### 摘要 本文将详细介绍如何在WebLogic Platform 8.1控制台中设置Oracle 9i、SQL Server 和 JDataStore 数据库连接池以及如何在应用程序中获取...

    javaJNDI连接数据库

    ### Java JNDI 连接数据库详解 #### JNDI简介 Java Naming and Directory Interface (JNDI) 是一种在Java环境中访问命名和目录...此外,这种方式还能够有效地管理数据库连接池,减少资源占用,提高系统的整体性能。

    用JNDI建立数据库连接池实例

    在Java应用开发中,JNDI(Java Naming and Directory Interface)是一种标准接口,它允许应用程序查找和使用资源,如数据库连接池。JNDI不是直接处理数据库连接,而是作为一个服务定位器,帮助我们找到配置好的资源...

    数据库连接池使用范例

    本文将深入探讨数据库连接池的原理、作用,以及如何在Java Web环境中,特别是结合Tomcat服务器和JSP进行配置和使用。 首先,我们需要理解什么是数据库连接池。数据库连接池是一种管理数据库连接的技术,它预先创建...

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

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

    java oracle 数据库 连接池 小例子

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 首先,我们需要理解什么是数据库连接池。数据库连接池在初始化时会创建一定数量的数据库连接,这些连接在应用程序需要时...

    数据库连接池驱动包_数据库连接池驱动包_

    C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 JDBC3 规范和 JDBC2 的标准扩展。C3P0 提供了一些独特的特性,如自动检测并关闭无效连接、连接测试等,以确保连接的稳定性和可靠性。 4. ...

    数据库连接池java和.net

    在Java中,我们可以通过JNDI(Java Naming and Directory Interface)来查找和获取连接池,或者使用Spring框架的DataSource配置来实现数据源的管理。在.NET中,我们可以利用Dependency Injection(依赖注入)框架,...

    各种数据库连接池

    标题中提到的"各种数据库连接池",包括了c3p、DBCP和Proxool,这些都是Java环境下常见的数据库连接池实现: 1. **C3P0**:这是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。...

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    本文将详细介绍几个常见的Java数据库连接池实现:C3P0、Druid、JNDI、DBCP、Proxool以及BoneCP,并结合Spring+MyBatis+maven环境下的应用示例进行解析。 1. C3P0: C3P0是一个开源的JDBC连接池,它实现了数据源和...

    数据库连接池的三种实现方法

    在Java开发中,有三种常见的数据库连接池实现:DBCP(BasicDataSource)、C3P0以及阿里开源的Druid。下面将详细介绍这三种数据库连接池的实现原理和特性。 1. **DBCP (BasicDataSource)** DBCP 是 Apache Commons ...

    数据库连接池-jar包

    在Java环境中,数据库连接池的实现通常依赖于特定的jar包。这些jar包提供了连接池管理的API,让开发者能够方便地集成到自己的应用程序中。以下是一些常见的数据库连接池实现及其相关的jar包: 1. **C3P0**:这是一...

    数据库连接池的应用与研究

    1. C3P0:这是一个完全开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 2. DBCP (Apache BasicDataSource):Apache Commons的一个子项目,它是基于Jakarta Pool实现的数据库连接池。...

Global site tag (gtag.js) - Google Analytics