JDBC技术发展历程以及技术概述_第1页
JDBC技术发展历程以及技术概述_第2页
JDBC技术发展历程以及技术概述_第3页
JDBC技术发展历程以及技术概述_第4页
JDBC技术发展历程以及技术概述_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JDBC 技术发展历程以及技术概述JDBC 是一种可用于执行SQL 语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口 。它由一些Java 语言编写的类和界面组成。JDBC 为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java 语言编写完整的数据库应用程序。一、ODBC 到JDBC 的发展历程说到JDBC ,很容易让人联想到另一个十分熟悉的字眼“ODBC ”。它们之间有没有联系呢? 如果有,那么它们之间又是怎样的关系呢?ODBC 是OpenDatabaseConnectivity 的英文简写。

2、它是一种用来在相关或不相关的数据库管理系统(DBMS中存取数据的,用C 语言实现的,标准应用程序数据接口。通过ODBCAPI ,应用程序可以存取保存在多种不同数据库管理系统(DBMS中的数据,而不论每个DBMS 使用了何种数据存储格式和编程接口。1. ODBC 的结构模型ODBC 的结构包括四个主要部分:应用程序接口、驱动器管理器、数据库驱动器和数据源。应用程序接口:屏蔽不同的ODBC 数据库驱动器之间函数调用的差别,为用户提供统一的SQL 编程接口。驱动器管理器:为应用程序装载数据库驱动器。数据库驱动器:实现ODBC 的函数调用,提供对特定数据源的SQL 请求。如果需要,数据库驱动器将修改应

3、用程序的请求,使得请求符合相关的DBMS 所支持的文法。数据源:由用户想要存取的数据以及与它相关的操作系统、DBMS 和用于访问DBMS 的网络平台组成。虽然ODBC 驱动器管理器的主要目的是加载数据库驱动器,以便ODBC 函数调用,但是数据库驱动器本身也执行ODBC 函数调用,并与数据库相互配合。因此当应用系统发出调用与数据源进行连接时,数据库驱动器能管理通信协议。当建立起与数据源的连接时,数据库驱动器便能处理应用系统向DBMS 发出的请求,对分析或发自数据源的设计进行必要的翻译,并将结果返回给应用系统。2.JDBC 的诞生自从Java 语言于1995年5月正式公布以来,Java 风靡全球。

4、出现大量的用java 语言编写的程序,其中也包括数据库应用程序。由于没有一个Java 语言的API ,编程人员不得不在Java 程序中加入C 语言的ODBC 函数调用。这就使很多Java 的优秀特性无法充分发挥,比如平台无关性、面向对象特性等。随着越来越多的编程人员对Java 语言的日益喜爱,越来越多的公司在Java 程序开发上投入的精力日益增加,对java 语言接口的访问数据库的API 的要求越来越强烈。也由于ODBC 的有其不足之处,比如它并不容易使用,没有面向对象的特性等等,SUN 公司决定开发一Java 语言为接口的数据库应用程序开发接口。在JDK1.x 版本中,JDBC 只是一个可选

5、部件,到了JDK1.1公布时,SQL 类包(也就是JDBCAPI 就成为Java 语言的标准部件。二、JDBC 技术概述JDBC 是一种可用于执行SQL 语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口 。它由一些Java 语言写的类、界面组成。JDBC 给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java 语言编写完整的数据库应用程序。通过使用JDBC ,开发人员可以很方便地将SQL 语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase ,写另一个程序访问O

6、racle ,再写一个程序访问Microsoft 的SQLServer 。用JDBC 写的程序能够自动地将SQL 语句传送给相应的数据库管理系统(DBMS。不但如此,使用Java 编写的应用程序可以在任何支持Java 的平台上运行,不必在不同的平台上编写不同的应用。Java 和JDBC 的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce ,RunEverywher e!”Java 具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java 应用如何同各种各样的数据库连接,JDBC 正是实现这种连接的关键。JDBC 扩展了Jav

7、a 的能力,如使用Java 和JDBCAPI 就可以公布一个Web 页,页中带有能访问远端数据库的Applet 。或者企业可以通过JDBC 让全部的职工(他们可以使用不同的操作系统,如Windwos ,Machintosh 和UNIX 在Intranet 上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。随着越来越多的程序开发人员使用Java 语言,对Java 访问数据库易操作性的需求越来越强烈。MIS 管理人员喜欢Java 和JDBC ,因为这样可以更容易经济地公布信息。各种已经安装在数据库中的事务处理都将继续正常运行,甚至这些事务处理是存储在不同的数据库管理系统中; 而对新的数据

8、库应用来说,开发时间将缩短,安装和版本升级将大大简化。程序员可以编写或改写一个程序,然后将它放在服务器上,而每个用户都可以访问服务器得到最新的版本。对于信息服务行业,Java 和JDBC 提供了一种很好的向外界用户更新信息的方法。1.JDBC 的任务简单地说,JDBC 能完成下列三件事:1 同一个数据库建立连接;2 向数据库发送SQL 语句;3 处理数据库返回的结果。2.JDBC 一种底层的APIJDBC 是一种底层API ,这意味着它将直接调用SQL 命令。JDBC 完全胜任这个任务,而且比其他数据库互联更加容易实现。同时它也是构造高层API 和数据库开发工具的基础。高层API 和数据库开发

9、工具应该是用户界面更加友好,使用更加方便,更易于理解的。但所有这样的API 将最终被翻译为象JDBC 这样的底层API 。目前两种基于JDBC 的高层API 正处在开发阶段。1SQL 语言嵌入Java 的预处理器。虽然DBMS 已经实现了SQL 查询,但JDBC 要求SQL 语句被当作字符串参数传送给Java 程序。而嵌入式SQL 预处理器允许程序员将SQL 语句混用:Java 变量可以在SQL 语句中使用,来接收或提供数值。然后SQL 的预处理器将把这种Java/SQL混用的程序翻译成带有JDBCAPI 的Java 程序。2 实现从关系数据库到Java 类的直接映射。Javasoft 和其他

10、公司已经宣布要实现这一技术。在这种“对象/关系”映射中,表的每一行都将变成这类的一个实例,每一列的值对应实例的一个属性。程序员可以直接操作Java 的对象; 而存取所需要的SQL 调用将在内部直接产生。还可以实现更加复杂的映射,比如多张表的行在一个Java 的类中实现。随着大家对JDBC 兴趣的不断浓厚,越来越多的开发人员已经开始利用JDBC 为基础的工具进行开发。这使开发工作变得容易。同时,程序员也正在开发对最终用户来说访问数据库更加容易的应用程序。3.JDBC 和ODBC 及其他API 的比较到目前为止,微软的ODBC 可能是用得最广泛的访问关系数据库的API 。它提供了连接几乎任何一种平

11、台、任何一种数据库的能力。那么,为什么不直接从Java 中直接使用ODBC 呢?回答是可以从Java 中使用ODBC ,但最好在JDBC 的协助下,用JDBC-ODBC 桥接器实现。那么,为什么需要JDBC 呢? 要回答这个问题,有这么几个方面:1ODBC 并不适合在Java 中直接使用。ODBC 是一个C 语言实现的API ,从Java 程序调用本地的C 程序会带来一系列类似安全性、完整性、健壮性的缺点。2 其次,完全精确地实现从C 代码ODBC 到JavaAPI 写的ODBC 的翻译也并不令人满意。比如,Java 没有指针,而ODBC 中大量地使用了指针,包括极易出错的空指针“void*”

12、。因此,对Java 程序员来说,把JDBC 设想成将ODBC 转换成面向对象的API 是很自然的。3ODBC 并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简单的查询都有复杂的选项。而JDBC 刚好相反,它保持了简单事物的简单性,但又允许复杂的特性。4JDBC 这样的JavaAPI 对于纯Java 方案来说是必须的。当使用ODBC 时,人们必须在每一台客户机上安装ODBC 驱动器和驱动管理器。如果JDBC 驱动器是完全用Java 语言实现的话,那么JDBC 的代码就可以自动的下载和安装,并保证其安全性,而且,这将适应任何Java 平台,从网络计算机NC 到大型主机Mainframe

13、 。总而言之,JDBCAPI 是能体现SQL 最基本抽象概念的、最直接的Java 接口。它建构在ODBC 的基础上,因此,熟悉ODBC 的程序员将发现学习JDBC 非常容易。JDBC 保持了ODBC 的基本设计特征。实际上,这两种接口都是基于X/OPENSQL的调用级接口(CLI。它们的最大的不同是JDBC 是基于Java 的风格和优点,并强化了Java 的风格和优点。最近,微软又推出了除了ODBC 以外的新的API ,如RDO ,ADO 和OLEDB 。这些API 事实上在很多方面上同JDBC 一样朝着相同的方向努力,也就是努力成为一个面向对象的,基于ODBC 的类接口。然而,这些接口目前并

14、不能代替ODBC ,尤其在ODBC 驱动器已经在市场完全形成的时候,更重要的是它们只是ODBC 的“漂亮的包装”。4.JDBC 两层模型和三层模型JDBC 支持两层模型,也支持三层模型访问数据库。 两层模型中,一个java Appple或者一个JA-va 应用直接同数据库连接。这就需要能直接被访问的数据库进行连接的JDBC 驱动器。用户的SQL 语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行连接。这被称为“Client/Server”结构,用户的计算机作为Client, 运行数据库的计算机作为Server 。这个网络可是intranet ,比如连接全体雇员的企业内部网,当然也可以是internet 。在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL 语句发送到数据库。数据库处理SQL 语句并将结果返回“中间层”,然后“中间层”将它们 返回用户。MIS 管理员将发现三层模型很有吸引力,因为“中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论