1、浅谈 Java 技术中的数据库应用Java 语言是 Sun MicroSystems 公司于 1995年正式命名并推出的一种面向对象的编程语言-OOP(abbr.Object Oriented Programming)。Sun 公司说:Java 程序设计 语言被设计成是 by programmers for programmers,其随着 Internet 的发展而广为流行。用它开发的系统“一次开发,到处运行“的特色以及程序开发设计时所体现出的面向对象的思想深深地触动着人们。它的语言简洁、集多种程序 设计语言之大成,且面向对象、具有可移植性、分布性、安全性、高性能等特色。Java 在向 Int
2、ernet/Intranet,甚至计算机世界的各个领域 渗透,慢慢改变着人们的思维。而今 Internet 热浪一浪高过一浪,从外部世界走向企业内部形成 Intranet,促进了 Java 技术的利用开发。计算机业界中的IBM、ORACAL 、APPLE、Sun、Netscape 五家公司还联合推出“网络计算机(NC-1)“规范。抛开“Wintel“臃肿不堪的体系结构,使用户端价格低 廉、易于使用,并成为能够连接网络的简单计算机-NC(Network Computer),即所说的“瘦客户“机,NC 支持 Java 虚拟机(JVM),能够运行 Java开发的应用程序(Application)和小
3、程序(Applet)并支持多媒体应用。NC 和 Java 的结合诞生了新的时代:网络计算机时代。就连 Sun的冤家对头 Microsoft的比尔.盖茨也不得不承认:“Java 是长时间以来最卓越的程序设计语言 “。 一、 Java 数据库基础 JDBC API Java语言在数据库应用方面,特别在基于 Web 的 B/S结构的在线数据库应用方面的烦琐复杂配置等,并不能使用户和程序开发双方都十分满意。SunSoft 虽提供了用 Java语言编写成的 Java与数 据库的接口规范 JDBC(Java DataBase Connectivity,而 JavaSoft说 JDBC并不代表什么),使 J
4、ava程序可以通过统一标准规范的 JDBC API来与不同的数据库通信。确保了“100%纯 Java“的解决方案。JDBC API 定义了 Java中的类和接口,表示数据库连接、SQL 指令、结果集合等。它允许 Java程序员发送 SQL 指令并处理结果。JDBC API 提供两种主要接口:一是面向开发人员的 java.sql程序包,使得 Java程序员能够进行数据库连接,执行 SQL查询,并得到结果集合。Java2 的 java.sql包提供了 6个类和18个接口,下文将介绍;另一是面向底层数据库厂商的 JDBC Drivers ,目前为止,Java2的 JDBC Drivers仅提供下述四
5、种类型的数据库驱动方式,且各有利弊: (1) JDBC-ODBC bridge plus ODBC driver 方式:JDBC-ODBC 桥接方式利用微软的开放数据库互连接口(ODBC API)同数据库服务器通讯,客户端计算机首先应该安装并配置ODBC driver 和 JDBC-ODBC bridge两种驱动程序。这是 Applets访问你的数据库最可能的解决方式,但这对 Internet 和 Intranet 用户而言简直是一个非常令人讨厌和麻烦的解决方案。 (2) Native-API partly Java driver方式:这种驱动方式将数据库厂商的特殊协议转换成 Java代码及二
6、进制类码,使 Java 数据库客户方与数据库服务器方通信。例如:Oracle用 SQLNet协议,DB2 用 IBM 的数据库协议。数据库厂商的特殊协议也应该被安装在客户机上。这也是令人讨厌和麻烦的解决方案。 (3) JDBC-Net pure Java driver方式:这种方式是纯 Java driver。数据库客户以标准网络协议(如 HTTP、SHTTP)同数据库访问服务器通信,数据库访问服务器然后翻译标准网络协议成为数据库厂商的专有 特殊数据库访问协议(也可能用到 ODBC driver)与数据库通信。对 Internet 和 Intranet 用户而言这是一个理想的解决方案。Java
7、 driver 被自动的,以透明的方式随 Applets自 Web服务器而下载并安装在用户的计算机上。 (4) Native-protocol pure Java driver方式:这种方式也是纯 Java driver。数据库厂商提供了特殊的 JDBC协议使 Java数据库客户与数据库服务器通信。然而,将把代理协议同数据库服务器通信改用数据库厂商的特殊 JDBC driver。这对 Intranet 应用是高效的,可是数据库厂商的协议可能不被防火墙支持,缺乏防火墙支持在 Internet 应用中会存在潜在的安全隐患。 综上四种方式中,只有第三、四种方式的驱动支持 Applet 的零安装。因为
8、 JDBC drivers 完全用 Java 写成,并从 Web 服务器上随 applet下载。为了支持零安装,驱动程序应该被放在 Web上,并与 applet 在相同目录。而第四种存在安全隐患,第三种产品为数不多,现今较成熟的 IDS JDBC driver属于此种(http:/),但也要用到 ODBC driver辅助。 即便如此,利用 Java技术开发单机环境应用程序,局域网范围或 Intranet 环境下的应用程序、动态 Web应用(Live Intranet)等,Java 语言是高效、安全、稳定的。Java 语言已赢得了众多厂商的支持,基于其上的 Java API-JDBC也发展迅速
9、。Sun 承诺任何 Java Applet 或 Java应用软件都能够与数据库结合,并且仍将不遗余力的支持未来 Java技术的发展。Java 语言的跨平台特性,使之成为 Internet和 Intranet 环境下开发数据库应用系统的理想选择方案。 二、 Java 的数据库应用开发展望 至此,你已知道:要进行 Java 数据库应用程序的设计,需要具备多方面的技能,包括了解或熟练数据库驱动程序、SQL( 结构化查询语言)以及 java.sql包所包含的类、接口等。JavaSoft 已经注意到了 Java 在数据库程序设计方面的棘手而复杂,他们现在正在开发新的同 Java一样容易使用的产品 Jav
10、aBlend ,该产品将大大简化利用 JDBC构建数据库应用系统的过程。JavaBlend 将自动镜像 Java 对象成为存储在数据库中的信息。所有对对象的操作,都将产生与之镜像的数据库的动作,包括对存储在数据库中信息的自动查询、更新等。一旦 Java 的对象到数据库镜像(Java object-to-database mapping)被成功建立,JavaBlend 将免费发放给 Java 程序员,以使 Java 程序员从利用繁琐 SQL语句、结果集合解决方案过渡到利用 JavaBlend 把对 Java 对象的方法调用相应地自动转化成 SQL语句和结果集合这一简单方案。这将使 JDBC和 SQL知识在数据库开发时不必考虑过多,而使程序员专心于用户业务方 案的提供解决。JavaBlend 目前并不包含在 JDK 1.2中。 Java 语言及其技术是当今世界程序设计语言的主流。应用 Java 技术实现数据库应用系统是未来的发展方向,Java 的数据库应用现已成功地应用于商业、政府及大学等领域。相信不久的将来,Java 技术将更加完善成熟。Java 的数据库应用也将遍地开花。