Java入门(13) More Java!本章目标: 在本章中,我们将了解更多的关于Java的知识,包括用于访问数据库的JDBC、以及Java的网络编程、以及JavaBeans等Java高级特性。通过本章的学习,大家应该能够了解这些知识的概念,以便今后更好地学习Java语言。 13.1 什么是JDBC 传授新知 人类已经走进信息时代,信息的获取、整理工作越来越重要,从传统业务电子化、自动化到决策支持等方方面面都离不开信息的处理。 为了能够更好地处理信息,就需要更好地收集、存储信息。这也是计算机领域中一个十分重要的分支学科:数据库系统。由于其巨大的市场空间,有许许多多的计算机软件公司致力于研究、开发各种功能强劲的数据库系统。从适合于桌型应用的FoxPro、DBASE,到大型数据库系统MicroSoft SQL Server、Oracle、Sybase、IBM DB2、Infomix等,它们虽然都是遵造SQL语言打造而成的,但是由于不同的开发厂商、不同产品特点、不同的市场针对性,使得它们的接口、使用方法等都有许多差别。这使得我们不得不研究这些不同的地方,以便能够在应用中灵活使用。而如果我们在开发计算机应用系统时需要根据不同的数据库系统进行专门的设计,必将使得程序的通用性、灵活性、可维护性大大降低。 13.1.1 ODBC 为了使数据库系统的应用开发能够更加轻松,微软公司提供了一套数据库接口规范ODBC(对,你没看错是ODBC,为了大家能够更加清楚地认识JDBC,我们先给大家介绍一下ODBC)。正如下图所示,它为编程语言访问数据库提供了一个标准接口:
图13-1 ODBC结构示意图 我们现在一起来看一下这张图,当应用程序(属于应用程序层)需要对数据库进行操作时,我们就通过ODBC接口来实现与数据库进行打交道。由于ODBC接口是统一的、是标准的,所以所有使用ODBC接口访问、操作数据库的程序的写法都是一样的。 那么ODBC接口又是如何完成实际的数据库访问和操作的呢!它是通过各种数据库系统所提供的ODBC驱动程序来完成了! 由于支持ODBC的数据库十分多,所以一个系统中ODBC驱动程序有许多个,因此ODBC需要一个管理这些ODBC驱动程序的管理器。 整个过程就是,应用程序通过ODBC接口来访问数据库,并且无需关心是什么数据库;而当ODBC接口收到这个数据库操作请求时,就通过驱动程序管理器找到相应的数据库ODBC驱动程序;最后ODBC驱动程序连接数据库完成操作。 ODBC的出现使得应用程序访问、操作数据库更加容易,迅速成为了一个通用的标准。而Java做为了一种网络化的编程语言,也少不了要与数据库打交道,要让Java程序访问数据库更加容易,也必须提供相应的机制把不同数据库系统所带来的差异屏蔽掉。因此,就导致了JDBC(Java DataBase Connectivity)的诞生。 13.1.2 JDBC 看到这里,大家也许会问既然有了ODBC,为什么要有JDBC呢?其实原因很简单,ODBC主要是对数据库系统的C语言接口,不太容易被Java使用;再者它是Microsoft的标准,Microsoft何许人也,Java缔造者Sun公司的死对头呀! 因此,Sun公司重新设计了一个适合于Java使用的数据库操作引擎:JDBC,并于1996年3月份发布。它沿袭了ODBC的设计思想,并且采用了与ODBC一样的设计基础:X/Open SQL Call Level Interface(简称CLI)。为了使JDBC更加Power,还开发了一个“JDBC-ODBC的翻译器”(也被称为桥接器),通过它,还可以使用数据库的ODBC驱动程序。 JDBC定义了一套API对象和方法,用来访问、操作数据库系统。在一个使用JDBC的Java程序中,首先将打开一个数据库的连接,生成一个语句(Statement)对象,使用这个对象将SQL语句传送给数据库系统,然后用它检索结果。 JDBC类包含在java.sql包中,我们可以使用这个包中的对象和方法从数据库读取数据或写入数据。正如下图所示,JDBC提供了两种不同的访问数据库的机器: 1)
图13-2 通过JDBC-ODBC桥接器访问数据库 在这种情况下,JDBC通过访问一个本地模块JDBC-ODBC桥接器(JDBCODBC.DLL)来与数据库交互。这个数据库可以在本地,也可以在远程。 一些说明: 由于ODBC在ISV(Independent Software Vendor,独立软件开发商)和用户中非常流行,有许多数据库都提供了ODBC驱动程序,因此Sun公司为了利用这些可用的ODBC驱动程序,就开发了一个桥接器。这是一种很成功的市场行为。 2)
图13-3 通过HTTP侦听程序访问数据库 在这种情况下,Java程序通过使用一些RPC或一个HTTP发送者-侦听者协议与网络上的数据库服务器交谈,实现数据库的访问与操作。 一般来说,JDBC类文件和Java小应用程序是存放在客户端,用来访问位于远程服务器上的数据库。 3)
图13-4 JDBC示意图(3) 还有一种结构JDBC通过数据库的JDBC驱动程序来访问数据库,当然就需要数据库的支持,例如Oracle就有JDBC驱动程序。 随着JDBC的使用越来越广泛,对JDBC提供支持也会成为数据库厂商参与市场竞争的一个重要手段,所以今后会有越来越多的数据库会提供JDBC驱动程序。 一些提示: 关于JDBC的更多内容可以参考四个与JDBC规范有关的重要文档:JDBC规范、JDBC API文档I-JDBC接口、JDBC API文档II-类和异常以及JDK1.1文档的JDBC手册。 你可以在Sun的www.javasoft.com中找到。文件名分别为:jdbc.spec-0122.pdf、jdbc.api.1-0122.pdf、jdbc.api.2-0122.pdf、jdbc.pdf。 上一篇:Java入门(11) 让程序更动人 下一篇:JSP 技术白皮书 更多相关文章
|
推荐文章
精彩文章
|