提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。
public interface Driver
每个驱动程序类必须实现的接口。
Java SQL 框架允许多个数据库驱动程序。
每个驱动程序都应该提供一个实现 Driver 接口的类。
DriverManager 会试着加载尽可能多的它可以找到的驱动程序,然后,对于任何给定连接请求,它会让每个驱动程序依次试着连接到目标 URL。
强烈建议每个 Driver 类应该是小型的并且是单独的,这样就可以在不必引入大量支持代码的情况下加载和查询 Driver 类。
在加载某一 Driver 类时,它应该创建自己的实例并向 DriverManager 注册该实例。这意味着用户可以通过调用以下程序加载和注册一个驱动程序
Class.forName("foo.bah.Driver")
java.sql
接口 Connection
public interface Connection与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
Connection
对象的数据库能够提供信息描述其表、所支持的 SQL 语法、存储过程和此连接的功能等。此信息是使用getMetaData
方法获得的。注:默认情况下,
Connection
对象处于自动提交模式下,这意味着它在执行每个语句后都会自动提交更改。如果禁用自动提交模式,为了提交更改,必须显式调用commit
方法;否则无法保存数据库更改。使用 JDBC 2.1 核心 API 创建的
Connection
对象有一个与之关联的最初为空的类型映射表。用户可以为此类型映射表中的 UDT 输入一个自定义映射关系。在使用ResultSet.getObject
方法从数据源中检索 UDT 时,getObject
方法将检查该连接的类型映射表,以查看是否有对应该 UDT 的项。如果有,那么getObject
方法会将该 UDT映射到所指示的类。如果没有项,则会使用标准映射关系映射该 UDT。用户可以创建一个新的类型映射表,该映射表是一个
java.util.Map
对象,可在其中创建一个项,并将该项传递给可以执行自定义映射关系的java.sql
方法。在这种情况下,该方法将使用给定的类型映射表,而不是与连接相关联的映射表。例如,以下代码片段指定 SQL 类型
ATHLETES
将被映射到 Java 编程语言中的Athletes
类。该代码片段为Connection
对象con
获取类型映射表,并在其中插入一些项,然后使用新的项将该类型映射表设置为连接的类型映射表。java.util.Map map = con.getTypeMap(); map.put("mySchemaName.ATHLETES", Class.forName("Athletes")); con.setTypeMap(map);java.sql
类 DriverManagerjava.lang.Objectjava.sql.DriverManager
public class DriverManager
管理一组 JDBC 驱动程序的基本服务。
注:DataSource
接口是 JDBC 2.0 API中的新增内容,它提供了连接到数据源的另一种方法。使用 DataSource
对象是连接到数据源的首选方法。
作为初始化的一部分,DriverManager
类会尝试加载在 "jdbc.drivers"系统属性中引用的驱动程序类。这允许用户自定义由他们的应用程序使用的 JDBC Driver。例如,在 ~/.hotjava/properties文件中,用户可以指定:
jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
程序还可以在任意时间显式地加载 JDBC 驱动程序。例如,my.sql.Driver 是使用以下语句加载的: Class.forName("my.sql.Driver");
在调用 getConnection
方法时,DriverManager
会试着从初始化时加载的那些驱动程序以及使用与当前 applet 或应用程序相同的类加载器显式加载的那些驱动程序中查找合适的驱动程序。