JDBC是Java的开发者??Sun的Javasoft公司制定的Java数据库连接(Java Data Base Connectivity) 技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。ODBC(OpenData Base Connectivity),称为开放式数据库互联技术,是由Microsoft公司倡导并得到业界普遍响应的一门数据库连接技术,如果读者有使用ODBC编程的经验,就会发现JDBC与ODBC很类似。JDBC现在可以连接的数据库包括:xbase、 Oracle、Sybase、Aceess以及Paradox等。
JDBC的工作机制
如果用户是从事软件领域工作的,不可能没有听说过SQL(Structure Query Language:结构化查询语言),它是一种标准化的关系型数据库访问语言。在SQL看来,数据库就是表的集合,其中包含了行和列。SQL标准虽然也还处在不断变革之中(任何一门标准如果已一成不变了,那只能说明这门学科已经停止发展了),但其基本内容相对稳定。JDBC定义了Java语言同SQL数据之间的程序设计接口。 JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。 JavaSoft公司开发了JDBC API,JDBC API是一个标准统一的SQL数据存取接口。 JDBC在Internet中的作用与 ODBC在Windows系列中的作用类似。它为Java程序提供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性,而且在Internet上确实无法预料你的用户想访问什么类型的数据库。只要系统上安装了正确的驱动器组, JDBC应用程序就可以访问其相关的数据库。 用JDBC来实现访问数据库记录可以采用下面的几个步骤: 1、 通过驱动器管理器获取连接接口。 2、 获得Statement或它的子类。 3、 限制Statement中的参数。 4、 执行Statement。 5、 查看返回的行数是否超出范围。 6、 关闭Statement。 7、 处理其它的Statement 8、 关闭连接接口。
Java作为数据库前台
在信息时代,数据库是用于收集和处理数据的工具,数据库形成了许多公司基础结构的基础。尽管数据库系统非常适合数据的存储和取得,但人类需要某种前台应有程序以查阅和使用存放的数据。 Java对建立数据库服务器前台应用程序的开发人员提供了几个好处。Java是“一旦写成,到处运行”的语言,即Java程序不经改变即可部署到任何运行Java虚拟机的计算机结构和操作系统。对于大公司,有一个公用开发平台好处很大,编程人员可以不再为大公司中的各个平台分别编程。Java也很吸引第三方开发者,单个Java程序即可满足大公司客户的需求。 建立公司系统中基于Java的应用程序和小程序的动力是巨大的。公司对于将结构和操作系统相关模型变成针对网络的模型相当有兴趣。Java代表着节约资源成本的长期战略。 对于开发人员,Java代表巨大的市场机会。大中型企业很少不用数据库进行业务工作的,大部分公司将数据库应用到业务的各个方面,从人事资源到前线客户销售。
JDBC API
JDBC API使开发者不必不断重写程序而可以建立数据库前台。尽管ANSI委员会有个标准组,但每个数据库系统厂家的系统连接和通讯方法仍然五花八门。 为了建立健全独立于平台的应用程序和基于Web的小程序,开发人员应考虑用Java开发前台连接办法。从外部看,第三方软件开发者通过专用办法,通过本地方法集成客户机方库或通过建立第三层和新协议来满足这种需求。 JavaSoft是Sun公司负责开发Java产品的业务单位,和数据库与数据库工具厂家一起建立独立于DBMS的机制,使开发人员不必考虑所用的特定数据库而编写客户机方应用程序。产生的JDBC API第一版是核心JDK 2的一部分。 JDBC向应用程序开发者提供了独立于数据库的统一的API。这个API提供了编写的标准和考虑所有不同应用程序设计的标准。其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。 应用程序编写一次并移植到各种驱动程序上。应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件(middleware)。 除了向开发者提供统一的独立于DBMS的框架外,JDBC还提供了让开发者保持数据库厂家提供的特定功能的办法。JDBC驱动程序必须支持 ANSI AQL-2项目层,但JDBC允许开发者直接将查询字符串传递到连接的驱动程序。这些字段可能是ANSI SQL也可能不是,或者根本不是 AQL。这些字符串的使用是基础驱动程序的事。 JDBC不是Mincrosoft的ODBC(开放式数据库连接)规范派生的,JDBC完全是用Java编写的,而ODBC是个C接口。但是,JDBC和ODBC都是基于X/开放SQL命令层接口(CLI),相同的概念性基础使API工作进展更快,使API的接受更加容易。JavaSoft提供了将JDBC变成ODBC的JDBC-ODBC桥。这个用本地方法完成的版本很小很有效。 一般来说,JDBC API中有两层接口:应用程序层,开发人员用API通过SQL调用数据库和取得结果,驱动程序层,处理与具体驱动程序版本的所有通讯。 每个JDBC应用程序(或小程序)至少要有一个JDBC驱动程序,每个驱动程序是针对一种DBMS的。但驱动程序不必直接联到数据库。
利用JDBC代替CGI
迄今为止,通过Java访问数据库的唯一方法就是利用Java中的流调和访问Common Gateway Interface(CGI,公用网关接口)程序。通过Java调用CGI脚本其实是执行一个访问数据库并返回结果的独立程序。 使用这种方法速度很慢,而且会在应用程序中引入更多的错误。这是由于利用两种不同的开发语言开发程序,需要掌握两种不同的技术。使用JDBC,用户只要了解Java语言即可,而使用CGI,用户必须同时使用Java和另一种编程语言。 使用JDBC的另一个原因是它的速度比CGI方法更快。使用CGI方法通常要求计算机执行另一个独立的程序。这个独立的程序访问数据库,处理数据,并将结果返回给调用程序。这就需要多级处理,因而增加了等待时间和出错概率。 调用CGI脚本通常是通过Web服务器执行一个新的脚本,而执行JDBC的数据库命令只需要某种将SQL命令发送给数据库的服务器。这就大大缩短了执行 SQL语句的时间,CGI脚本必须独立地连接数据库,处理执行结构,而JDBC的解决方案使应用程序直接与数据库相连,执行各种操作。
JDBC的优点和缺点
JDBC API用于连接Java应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把Java作为编程语言,把任何一种浏览器作为应用程序的友好界面,把Internet或Intranet作为网络主干,把有关的数据库作为数据库后端。以下是使用JDBC的优缺点。 优点如下: 1.JDBC API与ODBC十分相似,有利于用户理解。 2.JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。 3.JDBC支持不同的关系数据库,使得程序的可移植性大大加强。 4.用户可以使用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC。 5.JDBC API是面向对象的,可以让用户把常用的方法封装为一个类,备后用。 缺点如下: 1.使用JDBC,访问数据记录的速度会受到一定程度的影响。 2.JDBC结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻烦。
|
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
|