JDBC概述
JDBC 是一种可用于执行 SQL 语句的 Java API (Application Programming interface,应用程序设计接口),是连接数据库和 Java 应用程序的纽带。
JDBC-ODBC
JDBC-ODBC 桥是一个 JDBC 驱动程序,完成了从 JDBC 操作到 ODBC 操作之间的转换工作,允许 JDBC 驱动程序被用作 ODBC 的驱动程序。使用 JDBC-ODBC 桥连接数据库的步骤如下:
(1)首先加载 JDBC-ODBC 桥的驱动程序。代码如下:
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Class 类是 java.lang 包中的一个类,通过该类的静态方法 forName() 可加载 sun.jdbc.odbc 包中的 JdbcOdbcDriver 类来建立 JDBC-ODBC 桥连接器。
(2)使用 java.sql 包中的 Collection 接口,getConnection() 创建连接对象。代码如下:
Connection conn = DriverManager.getConnection ("jdbc.odbc:数据源名字", "user name", "password");
数据源必须给出一个相对简短的描述名。假设没有设置 user name 和 password, 则要与数据源 tom 交换数据。建立 Connection 对象的代码如下:
Connection conn = DriverManager.getConnection ("jdbc.odbc:tom", "", "");
(3)向数据库发送 SQL 语句。使用 Statement 接口声明一个 SQL 语句对象,并通过刚才创建的连接数据库对象 conn 的 createStatement() 方法创建这个 SQL 对象。代码如下:
Statement sql = conn.createStatement();
JDBC-ODBC 桥作为连接数据库的过渡性技术,现在已经不被 Java广泛 应用了,现在被广泛应用的是 JDBC 技术。但这并不表示 JDBC-ODBC 桥技术已经被淘汰,由于 ODBC 技术被广泛的使用,使得 Java 可以利用 JDBC-ODBC 桥访问几乎所有的数据库。JDBC-ODBC 桥作为 sun.jdbc.odbc 包与 JDK 一起自动安装,不需要特殊的配置。
JDBC 技术
JDBC 是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口。JDBC 是一种底层的 API ,因此访问数据库时需要在业务逻辑层中嵌入 SQL 语句。SQL 语句是面向关系的,依赖于关系模型,所以通过 JDBC 技术访问数据库也是面向关系的。JDBC 技术主要完成以下几个任务:
- 与数据库建立一个连接。
- 向数据库发送 SQL 语句。
- 处理从数据库返回的结果。
需要注意的是,JDBC 并不能直接访问数据库,必须依赖于数据库厂商提供的 JDBC 驱动程序。下面详细介绍 JDBC 驱动程序的分类。
JDBC 驱动程序的类型
JDBC 的总体结构由4个组件——应用程序、驱动程序管理器、驱动程序和数据源组成。JDBC 驱动基本上分为以下4种:
- JDBC-ODBC 桥:依靠 ODBC 驱动器和数据库通信。这种连接方式必须将 ODBC 二进制代码加载到使用该驱动程序的每台客户机上。
- 本地 API 一部分用 Java 编写的驱动程序:这类驱动程序把客户机的 API 上的 JDBC 调用转换为 Oracle 、DB2、Sybase 或其他 DBMS 的调用。
- JDBC 网络驱动:这种驱动程序将 JDBC 转换为与 DBMS 无关的网络协议,又被某个服务器转换为一种 DBMS 协议,是一种利用 Java 编写的 JDBC 驱动程序,也是最为灵活的 JDBC 驱动程序。
- 本地协议驱动:这是一种纯 Java 的驱动程序。这种驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议,允许从客户机上直接调用 DBMS 服务器,是一种很实用的访问 Intranet 的解决方法。
JDBC 网络驱动和本地协议驱动是 JDBC 访问数据库的首选,这两类驱动程序提供了 Java 的所有优点。