使用JDBC创建数据库对象(2)

发表于:2007-07-14来源:作者:点击数: 标签:
使用JDBC创建数据库对象(2) · 安装和使用JDBC JDBC 的类都被归到 java.sql包中,在安装 Java JDK 1.1 或更高版本时会自动安装。然而,如果您想使用 JDBC-ODBC 桥,还必须安装两个另外的程序包。首先,如果您使用 Windows95 ,则必须将您的 ODBC 驱动程序
使用JDBC创建数据库对象(2)

· 安装和使用JDBC

JDBC 的类都被归到 java.sql包中,在安装 Java JDK 1.1 或更高版本时会自动安装。然而,如果您想使用 JDBC-ODBC 桥,还必须安装两个另外的程序包。首先,如果您使用 Windows95 ,则必须将您的 ODBC 驱动程序升级为 32 位驱动程序,您可从 Microsoft 的网站下载。这个驱动程序在 Microsoft 的网站上很难找到;请搜索 DataAclearcase/" target="_blank" >cc.exe 并进行下载和安装。

JDBC-ODBC驱动程序 可从Sun的Java网站( http://java.sun.com )轻松地找到并下载。在您扩充并安装了这个驱动程序后,必须执行下列步骤:

  1. 将 \jdbc-odbc\classes; 路径添加到您的PATH环境变量中。
  2. 将 \jdbc-odbc\classes; 路径添加到您的CLASSPATH环境变量中。
  3. 在Windows 95环境下,将它们放入autoexec.bat文件中,重新引导,以使所有设置生效。
  4. 在Windows NT环境下,将它们添加到“控制面板”中“系统”对象的“环境”选项卡中,退出并重新登录,以使其生效。

· JDBC驱动程序的类型

Java 程序连接数据库的方法实际上有四种:
  1. JDBC-ODBC桥和ODBC驱动程序--在这种方式下,这是一个本地解决方案,因为ODBC驱动程序和桥代码必须出现在用户的每台机器中。从根本上说这是一个临时解决方案。
  2. 本机代码和Java驱动程序--它用另一个本地解决方案(该平台上的Java可调用的本机代码)取代 ODBC 和 JDBC-ODBC 桥。
  3. JDBC网络的纯Java驱动程序--由Java驱动程序翻译的JDBC形成传送给服务器的独立协议。然后,服务器可连接任何数量的数据库。这种方法使您可能从客户机Applet中调用服务器,并将结果返回到您的Applet。在这种情况下,中间件软件提供商可提供服务器。
  4. 本机协议Java驱动程序-- Java驱动程序直接转换为该数据库的协议并进行调用。这种方法也可以通过网络使用,而且可以在Web浏览器的Applet中显示结果。在这种情况下,每个数据库厂商将提供驱动程序。

如果您希望编写代码来处理 PC 客户机数据库,如 dBase 、 Foxbase 或 Access ,则您可能会使用第一种方法,并且拥有用户机器上的所有代码。更大的客户机 - 服务器数据库产品(如 IBM 的 DB2 )已提供了第 3 级别的驱动程序。

· 两层模型和三层模型

当数据库和查询它的应用程序在同一台机器上,而且没有服务器代码的干预时,我们将生成的程序称为 两层模型 。一层是应用程序,而另一层是数据库。在 JDBC-ODBC 桥系统中通常是这种情况。

当一个应用程序或applet调用服务器,服务器再去调用数据库时,我们称其为 三层模型 。当您调用称为“服务器”的程序时通常是这种情况。

· 编写JDBC代码访问数据库

现在,我们将开始看一下如何编写 Java 程序来访问数据库。我们要使用的数据库是一个称为 groceries.mdb 的 Microsoft Access 数据库。此数据库中的数据由三个本地杂货店中一些常见商品的价格组成。食品表如下所示:

FoodKey FoodName
1 Apples
2 Oranges
3 Hamburger
4 Butter
5 Milk
6 Cola
7 Greenbeans

杂货店表如下所示:

StoreKey StoreName
1 Stop andShop
2 VillageMarket
3 Waldbaum's

杂货店定价表仅由这三个表格中的键值和价格组成:

FSKey StoreKey FoodKey Price
1 1 1 $0.27
2 2 1 $0.29
3 3 1 $0.33
4 1 2 $0.36
5 2 2 $0.29
6 3 2 $0.47
7 1 3 $1.98
8 2 3 $2.45
9 3 3 $2.29
10 1 4 $2.39
11 2 4 $2.99
12 3 4 $3.29
13 1 5 $1.98
14 2 5 $1.79
15 3 5 $1.89
16 1 6 $2.65
17 2 6 $3.79
18 3 6 $2.99
19 1 7 $2.29
20 2 7 $2.19
21 3 7 $1.99

· 用ODBC注册您的数据库

在 Windows 95 或 NT 环境下访问 ODBC 数据库之前,必须使用控制面板中的 ODBC 驱动程序对它进行注册。在 Windows 95 环境下,就是 “ 控制面板 ” 程序中的 ODBC 图标。在 Windows NT 环境下,您会在 “ 开始 ” 菜单中找到此程序。(如果找不到,您需要安装上述的 ODBC 驱动程序,即 WX1350.exe )。

双击ODBC图标,然后单击“添加”,如图1所示。然后选择数据库驱动程序(此处使用MicrosoftAccess),然后单击“确定”。在“数据源名”和“描述”中分别键入数据源名称(Groceries)和数据库说明(Groceryprices)(这两项都不需要和文件名相关),然后单击“选取”,找到数据库,并选择该数据库。找到该数据库后,屏幕将如图2所示。单击“确定”,然后单击“关闭”来关闭面板。

ODBC Data Source Administrator
图1:ODBC控制面板设置屏幕。

ODBC Microsoft Access 97 安装
图2:在ODBC控制面板中选择数据库和说明。

· 连接数据库

所有与数据库有关的对象和方法都在 java.sql 包中,因此在使用 JDBC 的程序中必须加入 "import java.sql.* " 。 JDBC 要连接 ODBC 数据库,您必须首先加载 JDBC-ODBC 桥驱动程序

CCCCCC">
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

该语句加载驱动程序,并创建该类的一个实例。然后,要连接一个特定的数据库,您必须创建 Connect 类的一个实例,并使用 URL 语法连接数据库。
String url = "jdbc:odbc:Grocery prices"; Connection con = DriverManager.getConnection(url);

请注意,您使用的数据库名是您在 ODBC 设置面板中输入的 “ 数据源 ” 名称。

URL语法可能因数据库类型的不同而变化极大。

jdbc: subprotocol : subname

第一组字符代表连接 协议 ,并且始终是 jdbc 。还可能有一个 子协议 ,在此处,子协议被指定为 odbc 。它规定了一类数据库的连通性机制。如果您要连接其它机器上的数据库服务器,可能也要指定该机器和一个子目录:

jdbc:bark//doggie/elliott

最后,您可能要指定用户名和口令,作为连接字符串的一部分:

jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof

(未完待续)

原文转自:http://www.ltesting.net