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类提供的方法控制日志输出
加载成功后,会将Driver类的实例注册到DriverManager类中,若加载失败,将抛出ClassNotFoundException(未找到指定Driver类)异常。 在编写访问数据库的JAVA程序时,必须把特定数据库的JDBC驱动程序包加入到CLASSPATH...
DriverManager类 它是驱动程序管理器,作用于用户和驱动程序之间,并在数据库和相应的驱动程序之间建立连接。对于简单的应用程序,一般在此类中需要使用的唯一方法就是DriverManager.getConnection(String url);该...
内容: 3 – DriverManager3.1 概述DriverManager 类是 JDBC 的管理层,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager 类也处理诸如驱动程序登录时间...
DriverManager 类是 Java 连接数据库的核心类。它提供了 getConnection() 方法来建立到数据库的连接。 2. Connection 类 Connection 类是数据库连接的抽象表示。它提供了创建 Statement 或 PreparedStatement 对象...
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到... 成功加载后,会将Driver类的实例注册到DriverManager类中。
2.2 DriverManager类 6 2.2.1 跟踪可用驱动程序 6 2.2.2 建立连接 7 2.3 Statement对象 7 2.3.1 创建Statement对象 8 2.3.2 使用Statement对象执行语句 8 2.3.3 语句完成 8 2.3.4 语句完成 9 2.4 ResultSet对象 ...
2.2 DriverManager类 2.3 Connection接口 2.4 Statement接口 2.5 PreparedStatement接口 2.6 ResultSet接口 2.7 DataSource接口 三、JDBC操作数据库的步骤 四、编写第一个JDBC程序 五、注册案例 六、登录案例 6.1 ...
大概目标: 1,能够理解数据库的概念 ...13,能够使用DriverManager类 14,能够使用Connection接口 15,能够使用Statement接口 16,能够使用ResultSet接口 17,能够使用JDBC编写查询所有数据的代码
在 JDBC API 中,Driver 接口和 DriverManager 类是两个核心组件。DriverManager 类用来建立和数据库的连接以及管理 JDBC 驱动程序。常用方法包括 registerDriver(Driver driver) 在 DriverManager 中注册 JDBC 驱动...
18.2.1 DriverManager类464 18.2.2 Connection接口466 18.2.3 Statement接口466 18.2.3 PreparedStatement接口467 18.2.4 ResultSet接口467 18.3 JDBC操作SQL469 18.4 JDBC基本示例473 18.5 JDBC应用示例479 18.6 本...
DriverManager类; Connection接口; Statement#口; ResultSet接口; :・JDBC连接和访问数据库的步骤; 技能目标 :・掌握JDBC进行数据库编程的基本过程; :・掌握数据库驱动程序的加栽方法; 掌握DriverManager类...
本文详细讲解了JSP数据库连接的DriverManager类、Connection类、Statement类等的使用方法。
7.4.2 驱动程序管理器DriverManager类 7.4.3 执行SQL语句的Statement接口 7.4.4 预编译执行SQL语句的PreparedStatement接口 7.4.5 结果集ResultSet接1:2 7.5 JDBC操作数据库 7.5.1 向数据库中插入数据 7.5.2 从...
(1)加载数据库的驱动(2)主要的接口使用介绍 (2-1)DriverManager类:(1)getConnection() (2)setLoginTimeou
掌握JDBC操作数据库的步骤 熟悉JDBC的常用API 了解什么是JDBC DriverManager类、Connection接口、Statement接口 连接mysql数据库方法 PreparedStatement接口 ResultSet接口
JDBC1.0是原来是用DriverManager类来产生一个对数据源的连接。JDBC2.0用一种替代的方法,使用DataSource的实现,代码变的更小巧精致,也更容易控制。
JDBC技术剖析1.JDBC概述2.JDBC原理2.1 JDBC中主要类2.1.1 DriverManager类2.1.2 Connection2.1.3 Statement3 JDBC应用示例1、 加载驱动2.、获取连接3、获取Statement4、执行sql的增删改查语句5、关闭资源6、示例代码...
一、JDBC数据库访问 二、JAVA数据库应用 1、加载JDBC-ODBC桥 ... Class.forName("sun.jdbc.odbc.... DriverManager类的getConnection()方法试图定位能连接到数据库的驱动程序 String url="jdbc:odbc:MyDatasource";
然后,此类会自动将DriverManager类与已声明的驱动程序对象混合在一起,该对象可以从您的测试类中的任何位置调用 移动示例:将功能对象,所需的MobileOS和所需的DeviceCategory传递给DriverFactory()。...