JDBC数据库访问

JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API。它由一组用 Java 编程语
言编写的类和接口组成,为 Java 应用程序与各种不同数据库之间进行对话提供了一种便捷的方法,使得
开发人员能够用纯 Java API 来编写具有跨平台性的数据库应用程序。
23.1.1 JDBC 技术介绍
应用程序可以通过数据库厂商提供的 API 以及 SQL 语句对数据库进行操作,如图 23.1 所示。
图 23.1 应用程序访问数据库
在此模式下,看到不同的数据库有不同的 API 操作界面。这样的话,对于实现同样功能的应用程序,
针对不同的数据库,开发人员需要编写不同的代码,这样对 Java 设计人员是很不方便的。于是 JDBC 应
运而生。
JDBC 的出现使 Java 程序对各种数据库的访问能力大大增强。通过使用 JDBC,开发人员可以很方
便地将 SQL 语句传送给几乎任何一种数据库。
JDBC 的工作模式如下面的图 23.2 所示。从图中可以看到,应用程序通过调用 JDBC 来操作数据库
的过程,其实是由数据库厂商提供的 JDBC 驱动程序来负责的。Java 提供统一的 JDBC 接口 API,各个
数据库厂商负责开发实现这些接口的 API。那么,如果数据库访问程序要更换数据库的话,只要更换新
的数据库驱动程序,并在 JDBC 中载入新的驱动程序来源,即可完成数据库系统的变更。换句话说,使
用 JDBC 后就没有必要写一个程序访问 Oracle 数据库,同时再写另一个程序访问 SQL Server 数据库,
再写一个程序访问 DB2 了。
2
图 23.2 JDBC 工作模式
JDBC 的主要功能如下。
 建立与数据库或者其他数据源的连接;
 向数据库发送 SQL 命令;
 处理数据库的返回结果。
23.1.2 JDBC 的 4 种驱动程序
为了与某个数据库连接,必须要具有适合该数据库的驱动程序。JDBC 驱动程序主要有以下 4 种基
本类型:
1. JDBC-ODBC 桥加 ODBC 驱动程序
JDBC-ODBC 桥产品经由 ODBC 驱动程序供 JDBC 访问数据库。ODBC(开放式数据库连接)的出
现要比 JDBC 早,广泛地应用于连接各种环境中的数据库。JDBC-ODBC 桥加 ODBC 驱动程序实际是把
所有 JDBC 的调用传递给 ODBC,再由 ODBC 调用本地数据库驱动代码。在本书中,将采用此驱动程序
+Access 数据库进行演示。这种驱动程序的主要优点有 3 个:
 它提供了连接几乎所有平台上的所有数据库的能力。
 它可能是访问低端桌面数据库(例如 Access)和应用的程序的唯一方式。
 操作简单,适应初学才练习。
这种驱动程序的缺点如下。
 ODBC 驱动程序需要安装并加载到目标机器上。
 JDBC 和 ODBC 之间的转换将在很大程度上影响系统的性能。
2. 本地 API 和部分 Java 编写的驱动程序
这种类型的驱动程序是把客户机 API 上的 JDBC 调用转换为对数据库的调用。也就是说,这种类型
的驱动程序是通过调用本地 API 来实现与数据库的通信。这种类型的驱动程序要比采用类型 1 方式的速
度快很多,但它仍然存在着一些缺点:
 它仍然需要在目标机器上安装本地代码。
 JDBC 所依赖的本地接口在不同的 Java 虚拟机供应商以及不同的操作系统上是不同的。
3. JDBC 网络纯 Java 驱动程序
这种驱动程序根据三层结构建立:网络协议驱动、中间件服务器和数据库服务。该类型的驱动程序
由中间件服务器提供,这样客户端程序可以使用数据库无关的协议和中间件服务器进行通信,中间件服
务器再将客户端的 JDBC 调用转发给数据库进行处理。这种方式的驱动程序有以下优点:
 不需要客户机上有任何本地代码。
 不需要客户安装任何程序。
 大部分功能实现都在 server 端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中。
·3·
缺点为:中间件层仍然需要有配置其他数据库驱动程序,并且由于多了一个中间层传递数据,它的
执行效率还不是最好。
4. 本地协议纯 Java 驱动程序
该类型的驱动程序中包含了特定数据库的访问协议,使得客户端可以直接和数据库进行通信。这种
方式的驱动程序有以下优点:
 效率高,速度快。
 驱动程序可以动态的被下载。
缺点为:对于不同的数据库需要下载不同的驱动程序。
这四种驱动程序的属性如表 23.1 所示
表 23.1 驱动程序的类型及其属性
驱动程序种类
纯Java
网络协议
JDBC-ODBC桥加ODBC

直接
本地API和部分Java

直接
JDBC网络纯Java

要求连接器
本地协议纯Java

直接
23.1.3 如何获得 JDBC 驱动程序
要想得到某个数据库的驱动程序,可以从该数据库厂商的网站上进行下载,例如 SQL Server 2005
JDBC Driver 的下载地址为:http://www.microsoft.com。也可以访问 Oracle 公司的网站(网址是
http://www.oracle.com)下载 Oracle 数据库的 JDBC 驱动数据或 MySQL 数据库的驱动程序。
如 果 本 机 安 装 了 Oracle 数 据 库 的 话 , 可 以 到 本 机 Oracle 安 装 目 录 下 找 。 例 如 ,
E:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar。(jdk 1.6 及以上使用 ojdbc6.jar,jdk 1.5
使用 ojdbc5.jar)
23.1.4 设置环境变量使得驱动程序可被访问
获得驱动程序以后,需要将驱动程序加入 Classpath 的设定之中。例如作者本人的 Oracle 11g 的驱动
程序路径为“E:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar”,则必须在环境变量
CLASSPATH 中添加路径“E:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar”。
说明:如果是使用IDE 的话(如NetBeans 或Eclipse 等),可以不用设置环境变量。IDE 中支持将
数据库驱动程序库添加到工程构建路径上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值