`
gotothework
  • 浏览: 82750 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

DriverManager类

    博客分类:
  • JDBC
阅读更多
DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager 类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。对于简单的应用程序,一般需要在此类中直接使用的唯一方法是 DriverManager.getConnection。正如名称所示,该方法将建立与数据库的连接。JDBC 允许用户调用 DriverManager 的方法 getDriver、getDrivers 和 registerDriver 及 Driver 的方法 connect。但多数情况下,让 DriverManager 类管理建立连接的细节为上策。<FONT size=3>1、跟踪可用驱动程序
        DriverManager 类包含一列 Driver 类,它们已通过调用方法 DriverManager.registerDriver 对自己进行了注册。所有 Driver 类都必须包含有一个静态部分。它创建该类的实例,然后在加载该实例时 DriverManager 类进行注册。这样,用户正常情况下将不会直接调用 DriverManager.registerDriver;而是在加载驱动程序时由驱动程序自动调用。加载 Driver 类,然后自动在 DriverManager 中注册的方式有两种:
        通过调用方法 Class.forName。这将显式地加载驱动程序类。由于这与外部设置无关,因此推荐使用这种加载驱动程序的方法。以下代码加载类 acme.db.Driver:Class.forName("acme.db.Driver"); 
        如果将 acme.db.Driver 编写为加载时创建实例,并调用以该实例为参数的 DriverManager.registerDriver(),则它在 DriverManager 的驱动程序列表中,并可用于创建连接。
        通过将驱动程序添加到 java.lang.System 的属性 jdbc.drivers 中。这是一个由 DriverManager 类加载的驱动程序类名的列表,由冒号分隔:初始化 DriverManager 类时,它搜索系统属性 jdbc.drivers,如果用户已输入了一个或多个驱动程序,则 DriverManager 类将试图加载它们。
        对 DriverManager 方法的第一次调用将自动加载这些驱动程序类。
        注意:加载驱动程序的第二种方法需要持久的预设环境。如果对这一点不能保证,则调用方法 Class.forName 显式地加载每个驱动程序就显得更为安全。这也是引入特定驱动程序的方法,因为一旦 DriverManager 类被初始化,它将不再检查 jdbc.drivers 属性列表。
        在以上两种情况中,新加载的 Driver 类都要通过调用 DriverManager.registerDriver 类进行自我注册。如上所述,加载类时将自动执行这一过程。
        由于安全方面的原因,JDBC 管理层将跟踪哪个类加载器提供哪个驱动程序。这样,当 DriverManager 类打开连接时,它仅使用本地文件系统或与发出连接请求的代码相同的类加载器提供的驱动程序。 </FONT>
<FONT size=3>2、建立连接
        加载 Driver 类并在 DriverManager 类中注册后,它们即可用来与数据库建立连接。当调用 DriverManager.getConnection 方法发出连接请求时,DriverManager 将检查每个驱动程序,查看它是否可以建立连接。
        有时可能有多个 JDBC 驱动程序可以与给定的 URL 连接。例如,与给定远程数据库连接时,可以使用 JDBC-ODBC 桥驱动程序、JDBC 到通用网络协议驱动程序或数据库厂商提供的驱动程序。在这种情况下,测试驱动程序的顺序至关重要,因为 DriverManager 将使用它所找到的第一个可以成功连接到给定 URL 的驱动程序。
        首先 DriverManager 试图按注册的顺序使用每个驱动程序(jdbc.drivers 中列出的驱动程序总是先注册)。它将跳过代码不可信任的驱动程序,除非加载它们的源与试图打开连接的代码的源相同。
        它通过轮流在每个驱动程序上调用方法 Driver.connect,并向它们传递用户开始传递给方法 DriverManager.getConnection 的 URL 来对驱动程序进行测试,然后连接第一个认出该 URL 的驱动程序。
         这种方法初看起来效率不高,但由于不可能同时加载数十个驱动程序,因此每次连接实际只需几个过程调用和字符串比较。
    以下代码是通常情况下用驱动程序(例如 JDBC-ODBC 桥驱动程序)建立连接所需所有步骤的示例:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
    String url = "jdbc:odbc:fred";
    DriverManager.getConnection(url, "userID", "passwd"); 
分享到:
评论

相关推荐

    通过DriverManager类提供的方法控制日志输出

    虽然`DriverManager`类本身并不直接提供日志记录功能,但我们可以利用其方法来间接控制日志输出。在本文中,我们将深入探讨如何借助`DriverManager`和其他相关工具来实现这一目标。 首先,`DriverManager`类主要...

    JDBC详解 JDBC详解

    DriverManager 类包含一列 Driver 类,它们已通过调用方法 DriverManager.registerDriver 对自己进行了注册。所有 Driver 类都必须包含有一个静态部分。它创建该类的实例,然后在加载该实例时 DriverManager 类进行...

    常用的JDBC类与方法

    1. DriverManager 类 DriverManager 类负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并向DriverManager注册后才可以使用。DriverManager提供了以下方法: * Class.forName(String driver):...

    JDBC数据访问接口

    加载成功后,会将Driver类的实例注册到DriverManager类中,若加载失败,将抛出ClassNotFoundException(未找到指定Driver类)异常。 在编写访问数据库的JAVA程序时,必须把特定数据库的JDBC驱动程序包加入到CLASSPATH...

    java数据库连接DriverManager

    `DriverManager`类充当了用户和数据库驱动程序之间的桥梁。它维护一个已注册的`Driver`对象列表,这些驱动程序通常在程序启动时自动注册。`DriverManager`的职责包括: 1. **跟踪可用驱动**:所有`Driver`类在程序...

    JDBCTM 指南:入门3 – DriverManager

    内容: 3 – DriverManager3.1 概述DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager 类也处理诸如驱动程序登录时间...

    对JSP数据库连接类使用方法的详细讲解

    本文主要讲解了如何使用JDBC(Java Database Connectivity)中的关键类来实现这一目标,包括DriverManager类、Connection类和Statement类。 首先,DriverManager类是JDBC的核心组件,负责管理和加载数据库驱动程序...

    JSP应用开发-web项目创建和数据库连接类的设计.pptx

    DriverManager 类将试图定位一个适当的 Driver 类,并检查定位到的 Driver 类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出 SQLException 异常。 执行 SQL 语句 建立数据库连接的目的是与数据库...

    Java软件开发实战 Java基础与案例开发详解 18-2 JDBC类和接口 共16页.pdf

    #### 18.2.1 DriverManager类 `DriverManager`类是JDBC的核心管理类之一,它负责管理和协调不同的JDBC驱动程序。当应用程序想要连接到某个数据库时,会通过`DriverManager`类来加载合适的JDBC驱动并建立连接。 - **...

    JDBC中驱动加载的过程分析(上)

    #### 二、DriverManager类 `DriverManager`类是JDBC框架的核心组件之一,负责管理数据库驱动程序的注册和连接的建立。它提供了一系列静态方法来执行这些任务,并且本身不可实例化,这意味着所有操作都应通过其静态...

    10月自考Java语言程序设计一4748试题及答案解析.doc

    2. 数据库连接:Java 程序可以使用 DriverManager 类来连接数据库,执行 SQL 语句等操作。 六、Java 编程技巧 1. 条件语句:Java 中的条件语句可以使用 if、else、switch 等语句来实现条件判断。 2. 方法修饰符:...

    java 连接数据库

    DriverManager 类是 Java 连接数据库的核心类。它提供了 getConnection() 方法来建立到数据库的连接。 2. Connection 类 Connection 类是数据库连接的抽象表示。它提供了创建 Statement 或 PreparedStatement 对象...

    JDBC详解

    DriverManager类在JDBC中扮演着关键角色,它是用户与数据库驱动之间的桥梁。它维护了一个已注册的Driver类列表,这些Driver类代表了可以连接到不同数据库的实现。当应用程序需要与数据库建立连接时,通常会调用`...

    java_jdbc代码

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到... 成功加载后,会将Driver类的实例注册到DriverManager类中。

    JDBC工具类.txt

    在JDBC编程中,首先需要注册数据库驱动,然后才能通过DriverManager类获取到数据库连接对象。示例代码中,通过`Class.forName(driver);`完成了驱动的注册。这行代码需要在类加载时执行,因此使用了静态代码块来确保...

    数据库jdbc驱动加载过程

    当我们执行 DriverManager.getConnection() 方法时,JVM 会加载 DriverManager 类,并执行其静态代码块。在这个静态代码块中,JVM 会使用 ServiceLoader 机制来加载驱动程序。 ServiceLoader 机制 ServiceLoader ...

    JDBC(powernode CD2206)详尽版 (教学视频、源代码、SQL文件)

    2.2 DriverManager类 2.3 Connection接口 2.4 Statement接口 2.5 PreparedStatement接口 2.6 ResultSet接口 2.7 DataSource接口 三、JDBC操作数据库的步骤 四、编写第一个JDBC程序 五、注册案例 六、登录案例 6.1 ...

    JDBC,MySQL和JDBCProxy联合实现Java数据库.pdf

    JDBC 的核心组件是 DriverManager 类和 Statement 类,前者负责管理 JDBC 驱动程序,而后者则负责执行 SQL 语句。 JDBCProxy 则是一个开源的 JDBC 代理项目,能够记录 Java 应用程序的数据库访问过程并将其重现。...

    java连接数据库的分页语句

    首先,需要加载 Oracle 的 JDBC 驱动程序,然后使用 DriverManager 类的 getConnection 方法连接数据库。连接语句如下所示: ```java Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url...

    JavaWeb:jdbc(详细讲解).pdf

    DriverManager 类中的静态方法描述: static Connection getConnection(String url, String user, String password) 连接到给定数据库 URL,并返回连接。 参数说明: 1. String url:连接数据库的 url,用于说明...

Global site tag (gtag.js) - Google Analytics