版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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风靡全球。出现大量的用java语言编写的程序,其中也
4、包括数据库应用程序。由于没有一个Java语言的API,编程人员不得不在Java程序中加入C语言的ODBC函数调用。这就使很多 Java的优秀特性无法充分发挥,比如平台无关性、面向对象特性等。随着越来越 多的编程人员对Java语言的日益喜爱,越来越多的公司在 Java程序开发上投入的精力日益增加,对java语言接口的访问数据库的API的要求越来越强烈。也由于ODBC的有其不足之处,比如它并不容易使用,没有面向对象的特性等等,SUN公司决定开发一 Java语言为接口的数据库应用程序开发接口。在 JDK1.X版本中,JDBC只是一个可选部件,到了 JDK1.1公布时,SQL类包(也就是JDBCAPI
5、就成 为Java语言的标准部件。、JDBC技术概述JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgramminglnterface,应用程序设计接口 。它由一些 Java 语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。通过使用JDBC,开发人员可以很方便地将 SQL语句传送给几乎任何一种数 据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问 Microsoft的SQLServer。用JDB
6、C写的程序能够自动 地将SQL语句传送给相应的数据库管理系统(DBMS。不但如此,使用Java编写的 应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应 用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce RunEverywher e! ”Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种 很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。JDBC扩展了 Java的能力,如使用Java和JDBCAPI就可以公布一个 Web 页,页中带有能访问远端数据库
7、的 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和数据库开发工具应该是用户界面更加友好,使用更加方便,更易于理解的。但所有这样的 API将最终被翻译为象JDBC这样的底 层API。目
9、前两种基于JDBC的高层API正处在开发阶段。1SQL语言嵌入Java的预处理器。虽然DBMS已经实现了 SQL查询,但JDBC要求SQL语句被当作字符串参数传送给 Java程序。而嵌入式SQL预处理器允许程序员将SQL语句混用:Java变量可以在SQL语句中使用,来接收或提供数 值。然后SQL的预处理器将把这种Java/SQL混用的程序翻译成带有JDBCAPI的Java程序。2实现从关系数据库到Java类的直接映射。JavaSoft和其他公司已经宣布要实现这一技术。在这种对象/关系”映射中,表的每一行都将变成这类的一个实例,每一 列的值对应实例的一个属性。程序员可以直接操作Java的对象;而
10、存取所需要的SQL调用将在内部直接产生。还可以实现更加复杂的映射,比如多张表的行在一 个Java的类中实现。随着大家对JDBC兴趣的不断浓厚,越来越多的开发人员已经开始利用JDBC为基础的工具进行开发。这使开发工作变得容易。同时,程序员也正在开发对最终 用户来说访问数据库更加容易的应用程序。3.JDBC和ODBC及其他API的比较到目前为止,微软的ODBC可能是用得最广泛的访问关系数据库的 API。它 提供了连接几乎任何一种平台、任何一种数据库的能力。那么,为什么不直接从Java中直接使用ODBC呢?回答是可以从Java中使用ODBC,但最好在JDBC的协助下,用JDBC-ODBC桥接器实现。
11、那么,为什么需要 JDBC呢?要回答这个问题,有这么几个方面:1ODBC并不适合在Java中直接使用。ODBC是一个C语言实现的API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的缺点。2其次,完全精确地实现从 C代码ODBC到JavaAPI写的ODBC的翻译也并 不令人满意。比如,Java没有指针,而ODBC中大量地使用了指针,包括极易出 错的空指针“void*。”因此,对Java程序员来说,把JDBC设想成将ODBC转换成 面向对象的API是很自然的。3ODBC并不容易学习,它将简单特性和复杂特性混杂在一起,甚至对非常简 单的查询都有复杂的选项。而JDBC刚好相反
12、,它保持了简单事物的简单性,但又 允许复杂的特性。4JDBC这样的JavaAPI对于纯Java方案来说是必须的。当使用 ODBC时,人 们必须在每一台客户机上安装 ODBC驱动器和驱动管理器。如果 JDBC驱动器是完全用Java语言实现的话,那么JDBC的代码就可以自动的下载和安装,并保证 其安全性,而且,这将适应任何 Java平台,从网络计算机NC到大型主机Mai nframe 。总而言之,JDBCAPI是能体现SQL最基本抽象概念的、最直接的 Java接口。 它建构在ODBC的基础上,因此,熟悉 ODBC的程序员将发现学习JDBC非常容易。JDBC保持了 ODBC的基本设计特征。实际上,这
13、两种接口都是基于X/OPENSQL的调用级接口 (CLI。它们的最大的不同是 JDBC是基于Java的风格和 优点,并强化了 Java的风格和优点。最近,微软又推出了除了 ODBC以外的新的API,女口 RDO , ADO和OLEDB。这些API事实上在很多方面上同JDBC 一样朝着相同的方向努力,也就 是努力成为一个面向对象的,基于 ODBC的类接口。然而,这些接口目前并不能 代替ODBC,尤其在ODBC驱动器已经在市场完全形成的时候,更重要的是它们 只是ODBC的漂亮的包装”。4.JDBC两层模型和三层模型JDBC支持两层模型,也支持三层模型访问数据库。两层模型中,一个javaAppple
14、或者一个JA-va应用直接同数据库连接。这就需要能直接被访问的数据库 进行连接的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的 结果将被传回给用户。数据库可以在同一机器上,也可以另一机器上通过网络进行 连接。这被称为“Client/Serve结构,用户的计算机作为Client,运行数据库的计算 机作为Server。这个网络可是intranet,比如连接全体雇员的企业内部网,当然也可以是in ternet。在三层模型中,命令将被发送到服务的中间层”,而 中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回 中间层”,然后 中间层”将它们 返回用户。MIS管理员将发现三层模型很有吸引力,因为中间层”可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级下学期工作总结
- 湘教版地理八年级下册:7.2 《澳门特别行政区的旅游文化特色》 听课评课记录2
- 鲁教版数学六年级下册9.3《用图象表示变量之间的关系》听评课记录1
- 华师大版数学八年级下册18.2《平行四边形的判定》(第1课时)听评课记录
- 【部编版】七年级历史上册 《三国鼎立》 公开课听课评课记录
- 华东师大版数学八年级下册听评课记录《第17章函数及其图象17.1变量与函数(第1课时)》
- 湘教版数学九年级上册《3.1 比例线段》听评课记录
- 沪教版数学七年级上册第11章第3节《图形的翻折》听评课记录
- 湘教版数学九年级上册《2.2.1一元二次方程的解法》听评课记录
- 华师大版数学七年级上册《平行线的性质》听评课记录2
- 王阳明心学完整版本
- 四年级上册竖式计算300题及答案
- 保洁班长演讲稿
- 课题研究实施方案 范例及课题研究方法及技术路线图模板
- 牙髓炎中牙髓干细胞与神经支配的相互作用
- 劳务雇佣协议书范本
- 【2022届高考英语读后续写】主题升华积累讲义及高级句型积累
- 环境监测的基本知识
- 电动车棚施工方案
- 《中国十大书法家》课件
- 超实用可编辑版中国地图全图及分省地图
评论
0/150
提交评论