使用JDBC創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(2)
· 安裝和使用JDBC
JDBC 的類都被歸到 java.sql包中,在安裝 Java JDK 1.1 或更高版本時(shí)會(huì)自動(dòng)安裝。然而,如果您想使用 JDBC-ODBC 橋,還必須安裝兩個(gè)另外的程序包。首先,如果您使用 Windows95 ,則必須將您的 ODBC 驅(qū)動(dòng)程序升級(jí)為 32 位驅(qū)動(dòng)程序,您可從 Microsoft 的網(wǎng)站下載。這個(gè)驅(qū)動(dòng)程序在 Microsoft 的網(wǎng)站上很難找到;請(qǐng)搜索 DataAcc.exe 并進(jìn)行下載和安裝。
JDBC-ODBC驅(qū)動(dòng)程序 可從Sun的Java網(wǎng)站( http://java.sun.com )輕松地找到并下載。在您擴(kuò)充并安裝了這個(gè)驅(qū)動(dòng)程序后,必須執(zhí)行下列步驟:
將 \jdbc-odbc\classes; 路徑添加到您的PATH環(huán)境變量中。
將 \jdbc-odbc\classes; 路徑添加到您的CLASSPATH環(huán)境變量中。
在Windows 95環(huán)境下,將它們放入autoexec.bat文件中,重新引導(dǎo),以使所有設(shè)置生效。
在Windows NT環(huán)境下,將它們添加到“控制面板”中“系統(tǒng)”對(duì)象的“環(huán)境”選項(xiàng)卡中,退出并重新登錄,以使其生效。
· JDBC驅(qū)動(dòng)程序的類型
Java 程序連接數(shù)據(jù)庫(kù)的方法實(shí)際上有四種:
JDBC-ODBC橋和ODBC驅(qū)動(dòng)程序--在這種方式下,這是一個(gè)本地解決方案,因?yàn)镺DBC驅(qū)動(dòng)程序和橋代碼必須出現(xiàn)在用戶的每臺(tái)機(jī)器中。從根本上說(shuō)這是一個(gè)臨時(shí)解決方案。
本機(jī)代碼和Java驅(qū)動(dòng)程序--它用另一個(gè)本地解決方案(該平臺(tái)上的Java可調(diào)用的本機(jī)代碼)取代 ODBC 和 JDBC-ODBC 橋。
JDBC網(wǎng)絡(luò)的純Java驅(qū)動(dòng)程序--由Java驅(qū)動(dòng)程序翻譯的JDBC形成傳送給服務(wù)器的獨(dú)立協(xié)議。然后,服務(wù)器可連接任何數(shù)量的數(shù)據(jù)庫(kù)。這種方法使您可能從客戶機(jī)Applet中調(diào)用服務(wù)器,并將結(jié)果返回到您的Applet。在這種情況下,中間件軟件提供商可提供服務(wù)器。
本機(jī)協(xié)議Java驅(qū)動(dòng)程序-- Java驅(qū)動(dòng)程序直接轉(zhuǎn)換為該數(shù)據(jù)庫(kù)的協(xié)議并進(jìn)行調(diào)用。這種方法也可以通過(guò)網(wǎng)絡(luò)使用,而且可以在Web瀏覽器的Applet中顯示結(jié)果。在這種情況下,每個(gè)數(shù)據(jù)庫(kù)廠商將提供驅(qū)動(dòng)程序。
如果您希望編寫代碼來(lái)處理 PC 客戶機(jī)數(shù)據(jù)庫(kù),如 dBase 、 Foxbase 或 Access ,則您可能會(huì)使用第一種方法,并且擁有用戶機(jī)器上的所有代碼。更大的客戶機(jī) - 服務(wù)器數(shù)據(jù)庫(kù)產(chǎn)品(如 IBM 的 DB2 )已提供了第 3 級(jí)別的驅(qū)動(dòng)程序。
· 兩層模型和三層模型
當(dāng)數(shù)據(jù)庫(kù)和查詢它的應(yīng)用程序在同一臺(tái)機(jī)器上,而且沒(méi)有服務(wù)器代碼的干預(yù)時(shí),我們將生成的程序稱為 兩層模型 。一層是應(yīng)用程序,而另一層是數(shù)據(jù)庫(kù)。在 JDBC-ODBC 橋系統(tǒng)中通常是這種情況。
當(dāng)一個(gè)應(yīng)用程序或applet調(diào)用服務(wù)器,服務(wù)器再去調(diào)用數(shù)據(jù)庫(kù)時(shí),我們稱其為 三層模型 。當(dāng)您調(diào)用稱為“服務(wù)器”的程序時(shí)通常是這種情況。
· 編寫JDBC代碼訪問(wèn)數(shù)據(jù)庫(kù)
現(xiàn)在,我們將開(kāi)始看一下如何編寫 Java 程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。我們要使用的數(shù)據(jù)庫(kù)是一個(gè)稱為 groceries.mdb 的 Microsoft Access 數(shù)據(jù)庫(kù)。此數(shù)據(jù)庫(kù)中的數(shù)據(jù)由三個(gè)本地雜貨店中一些常見(jiàn)商品的價(jià)格組成。食品表如下所示:
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
· 安裝和使用JDBC
JDBC 的類都被歸到 java.sql包中,在安裝 Java JDK 1.1 或更高版本時(shí)會(huì)自動(dòng)安裝。然而,如果您想使用 JDBC-ODBC 橋,還必須安裝兩個(gè)另外的程序包。首先,如果您使用 Windows95 ,則必須將您的 ODBC 驅(qū)動(dòng)程序升級(jí)為 32 位驅(qū)動(dòng)程序,您可從 Microsoft 的網(wǎng)站下載。這個(gè)驅(qū)動(dòng)程序在 Microsoft 的網(wǎng)站上很難找到;請(qǐng)搜索 DataAcc.exe 并進(jìn)行下載和安裝。
JDBC-ODBC驅(qū)動(dòng)程序 可從Sun的Java網(wǎng)站( http://java.sun.com )輕松地找到并下載。在您擴(kuò)充并安裝了這個(gè)驅(qū)動(dòng)程序后,必須執(zhí)行下列步驟:
將 \jdbc-odbc\classes; 路徑添加到您的PATH環(huán)境變量中。
將 \jdbc-odbc\classes; 路徑添加到您的CLASSPATH環(huán)境變量中。
在Windows 95環(huán)境下,將它們放入autoexec.bat文件中,重新引導(dǎo),以使所有設(shè)置生效。
在Windows NT環(huán)境下,將它們添加到“控制面板”中“系統(tǒng)”對(duì)象的“環(huán)境”選項(xiàng)卡中,退出并重新登錄,以使其生效。
· JDBC驅(qū)動(dòng)程序的類型
Java 程序連接數(shù)據(jù)庫(kù)的方法實(shí)際上有四種:
JDBC-ODBC橋和ODBC驅(qū)動(dòng)程序--在這種方式下,這是一個(gè)本地解決方案,因?yàn)镺DBC驅(qū)動(dòng)程序和橋代碼必須出現(xiàn)在用戶的每臺(tái)機(jī)器中。從根本上說(shuō)這是一個(gè)臨時(shí)解決方案。
本機(jī)代碼和Java驅(qū)動(dòng)程序--它用另一個(gè)本地解決方案(該平臺(tái)上的Java可調(diào)用的本機(jī)代碼)取代 ODBC 和 JDBC-ODBC 橋。
JDBC網(wǎng)絡(luò)的純Java驅(qū)動(dòng)程序--由Java驅(qū)動(dòng)程序翻譯的JDBC形成傳送給服務(wù)器的獨(dú)立協(xié)議。然后,服務(wù)器可連接任何數(shù)量的數(shù)據(jù)庫(kù)。這種方法使您可能從客戶機(jī)Applet中調(diào)用服務(wù)器,并將結(jié)果返回到您的Applet。在這種情況下,中間件軟件提供商可提供服務(wù)器。
本機(jī)協(xié)議Java驅(qū)動(dòng)程序-- Java驅(qū)動(dòng)程序直接轉(zhuǎn)換為該數(shù)據(jù)庫(kù)的協(xié)議并進(jìn)行調(diào)用。這種方法也可以通過(guò)網(wǎng)絡(luò)使用,而且可以在Web瀏覽器的Applet中顯示結(jié)果。在這種情況下,每個(gè)數(shù)據(jù)庫(kù)廠商將提供驅(qū)動(dòng)程序。
如果您希望編寫代碼來(lái)處理 PC 客戶機(jī)數(shù)據(jù)庫(kù),如 dBase 、 Foxbase 或 Access ,則您可能會(huì)使用第一種方法,并且擁有用戶機(jī)器上的所有代碼。更大的客戶機(jī) - 服務(wù)器數(shù)據(jù)庫(kù)產(chǎn)品(如 IBM 的 DB2 )已提供了第 3 級(jí)別的驅(qū)動(dòng)程序。
· 兩層模型和三層模型
當(dāng)數(shù)據(jù)庫(kù)和查詢它的應(yīng)用程序在同一臺(tái)機(jī)器上,而且沒(méi)有服務(wù)器代碼的干預(yù)時(shí),我們將生成的程序稱為 兩層模型 。一層是應(yīng)用程序,而另一層是數(shù)據(jù)庫(kù)。在 JDBC-ODBC 橋系統(tǒng)中通常是這種情況。
當(dāng)一個(gè)應(yīng)用程序或applet調(diào)用服務(wù)器,服務(wù)器再去調(diào)用數(shù)據(jù)庫(kù)時(shí),我們稱其為 三層模型 。當(dāng)您調(diào)用稱為“服務(wù)器”的程序時(shí)通常是這種情況。
· 編寫JDBC代碼訪問(wèn)數(shù)據(jù)庫(kù)
現(xiàn)在,我們將開(kāi)始看一下如何編寫 Java 程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。我們要使用的數(shù)據(jù)庫(kù)是一個(gè)稱為 groceries.mdb 的 Microsoft Access 數(shù)據(jù)庫(kù)。此數(shù)據(jù)庫(kù)中的數(shù)據(jù)由三個(gè)本地雜貨店中一些常見(jiàn)商品的價(jià)格組成。食品表如下所示:
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