Database 版 (精华区)
发信人: joy ( 雨送黄昏花易落), 信区: Database
标 题: Java与DB2数据库连接(上)
发信站: 紫 丁 香 (Sun Jul 26 09:37:34 1998), 转信
随着Web的迅猛发展,数据库连接产品与Internet/Intranet的结合
已成为一种典型的计算模式,Java的兴起又为这一领域的发展提供了
更为有效的支持。Java发明者Sun微系统公司的子公司Javasoft适时
推出了Java数据库连接规范——JDBC(Java Database Connectivity
),于是各数据库厂商纷纷遵循这一规范研制和开发各自数据库产品对
Java的支持。在这一方面IBM公司始终走在最前面,其DB2系列产品是
最先提供Java支持的产品之一。
DB2对Java语言的支持包括以下两个方面:
·开发用于访问DB2数据库的Java应用程序(Application)和Java
小应用程序(Applet)。
·创建用户定义函数(UDF:User-Defined Function)和存储过程(
Stored Procedure)。
本文简要介绍JDBC的原理、实现及应用,并以DB2为例说明如何通
过JDBC在Java程序中对数据库进行访问。
JDBC的工作原理
利用Java编程语言访问数据库是通过JDBC——Java Database Co
nnectivity,即Java数据库连接机制实现的。JDBC是一种Java数据库连接API(Applicat
ion Programming Interfc e:应用编程接口),它作为Java Enterpris
e API的一部分由JavaSoft于1996年5月推出。JBC 为Java程序员提供
了一种在Java代码中访问关系数据库的标准方法。
JDBC的设计基于X/Open SQL CLI(Call Level Interface)这一模
型。JDBC定义了一组P I对象和方法用于同基本数据库进行交互。一
个Java程序要访问数据库,需通过以下几步来完成:第一,打开一数据
库连接;第二,建立语句对象;第三,通过该语句对象将SQL语句传送给
数据库,进行数据库操作;第四,获取结果及有关结果集的信息。
JDBC的实现
JDBC的实现包括两个方面,一个是JDBC API,一个是数据库方的JD
BC驱动程序支持。
JDBC API的所有实现都包含在java.sql包中,即该包中包括了JDB
C API的所有类和方法。表1给出了JDBC所有类及其功能的简要说明。
在这些类中最为重要的几部分及其关系见图1。图1 JDBC几个重
要的类及其关系
可以看出最上层的类为DriverManager。这个类用于处理驱动程
序的装入,为新数据库连接的建立提供支持。一个驱动程序装载时,它
要向该类进行注册。当要打开一个连接时,该类就会根据JDBC URL选
择驱动程序(后面将会谈到JDBC URL)。
java.sql.Connection 表示一个到特定数据库的连接。
java.sql.Statement 在一个给定的连接中,为执行一条SQL语句
提供一个容器。
java.sql.Statement接口有两个重要的子类型:一个是java.sql.
PrepareStatement,用于执行预编译的SQL语句;一个是java.sql.Call
ableStatement,用于调用数据存储过程。
java.sql.ResultSet用于控制结果列的存取。
JDBC API驱动程序用于提供与数据源的接口,解释和执行来自应用程
序中的SQL语句,并返回结果。它既可全部用Java编写,作为Applet的
一部分在网上下载,又可以是一种本地模块,与现有数据库建立起桥接
关系。例如,由Sun和Intersolv合作开发的JDBC-ODBC Bridge-JB COD
BC.DLL(用于Windows下)就是一种JDBC到ODBC的转换模块,用它可以实
现对支持ODBC的数据库的访问。
编程人员并不需要知道数据库方JDBC驱动程序的细节,而只需关
心用于指定所要访问的数据源的URL。JDBC URL的格式如下:
jdbc:<subprotocol>:<subname>
subprotocol是指一种由一个或多个驱动程序支持的数据库连接
机制。例如,DB2数据库的subprotocol为db2。其JDBC URL格式如下:
jdbc:db2:数据源名
或:
jdbc:db2:主机名:端口号/数据源名
又如,ODBC类型的数据源,其subprotocol为odbc。一般的ODBC数
据库JDBC URL格式如下
jdbc:odbc:<ODBC 数据源名>;User=<用户名>;PW=<口令>
对于Internet/Intranet上的数据库,subname指的是包含网络URL
的数据源名,其格式如下:
//主机名:端口号/数据源名
JDBC应用方案
JDBC有两种常用的应用方式:一种是Java Applet,一种是Java Ap
plication。
Applet是作为Web文档的一部分在网络上进行传输的小应用程序,是J
ava语言目前应用较为活跃的一面。用于数据库访问的Applet正是使
用JDBC来与数据库进行交互的,如图2: 图2 JDBC Applet与数据库的
交互
Java也能用来建立通常的应用程序,即Java Application。这种
独立的应用通常可以位于客户机上,其最常用的方式是应用在企业Int
ranet中,见图3: 表1 JDBC AIP及其功能秒述
图3 JDBC Application与数据库的交互
Java Application与Applet存在着许多方面的差异。例如,Java
Application定义数据库最常用的方式是由用户或应用程序声明一个
数据库名,即由系统来寻找指定的机器、DBM、JDBC驱动程序和数据库
。而Java Applet是在程序中直接指定这些内容的。
但不论是Java Applet还是Java Application,访问数据库的步骤
基本类似。下文将通过基于DB2数据库访问的Java Applet和Java App
lication具体说明JDBC的应用。
编者注:本文共分三个部分:"JDBC简介"、"编写基于DB2的Java A
pplication和Java Ap let"、"编译和运行基于DB2的Java Applicati
on和Java Applet"。
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.229.129]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.394毫秒