一步一步用JBuilder4開發EJB (續) - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 一步一步用JBuilder4開發EJB (續) (http://www.webasp.net/article/7/6998.htm) |
| -- 作者:未知 -- 發佈日期: 2003-07-26 |
| 四、Entity Beans 1. 建立數據庫 我們已經成功的開發了一個Session Bean。不要覺得它簡單,至少它是在JBuilder4中開發EJB的基本步驟。在這一章裡,我們將要開發EJB的另外一種形態--Entity Beans。 一個Entity Bean是一個穩定的數據的對象表現,在我們的例子裡,穩定的數據是一個關係數據庫 首先,我們將在InterBase上建立一個數據庫。 步驟: 1、 啟動InterBase Server。 2、 啟動InterClient中的InterServer。 3、 運行InterBase中的InterBase Winodws ISQL。 4、 在InterBase Winodws ISQL中,選擇"File"-"Create Database…"。 5、 設置Database Name為"d:\project\quickstart\accounts.gdb,用戶名和口令用"SYSDBA"、"masterkey"。點擊OK。如圖17。 6、 在InterBase Winodws ISQL窗口上部的文本框中,輸入下面的建立數據庫表的SQL語句: CREATE TABLE account ( name VARCHAR(20) NOT NULL, balance INTEGER NOT NULL, PRIMARY KEY (name) ) 圖17 7、 執行建立的SQL語句。如圖18。 圖18 8、 退出,回答"Yes"提交工作。 2. 開發Entity Beans 我們將利用JBuilder4所提供的嚮導來生成我們將要開發的Entity bean的代碼,並且將它加入到前面的項目中。 首先,我們需要為剛才建立的數據庫,指定JDBC驅動程序。退出JBuilder4。從InterClient的安裝目錄下(這裡是:D:\InterBase Corp\InterClient)複製interclient.jar文件到JBuilder4安裝目錄下的lib子目錄裡面。用任意的文本編輯器打開JBuilder4安裝目錄下的bin子目錄裡面的jdbce.config文件。在此文件的尾部加上: # Add other database drivers here addpath ../lib/interclient.jar 保存此文件,重新打開JBuilder4。 檢查以下我們前面所做的工作: 1、 在JBuilder4中,選擇"Tools"-"JDBC Explorer"。 2、 在JDBC Explorer窗口中,選擇"File"-"New…"。 3、 選擇"Driver"為:interbase.interclient.Driver;"URL"通過旁邊的瀏覽按鈕定位在我們剛才建立數據庫的地方(D:\project\quickstart\accounts.gdb)。如圖19。 圖19 4、"OK"之後,在JDBC Explorer中展開我們剛剛建立數據庫URL。用戶名:SYSDBA;密碼:masterkey。登錄之後,展開樹,就可以看到我們所建立的表和表中的列了。如圖20。 圖20 現在,我們就可以開始建立我們的Entity bean了。 步驟: 1、 在JBuilder4中,選擇"File"-"New…"-"Enterprise"標籤--"EJB Entity Bean Modeler",點擊"OK"按鈕之後,在嚮導的步驟1里,將此Bean加入已經建立的EJB Group(quickstart.ejbgrp)。 2、 利用前面建立的數據庫URL(Driver;interbase.interclient.Driver;URL: jdbc:interbase://localhost/D:\project\quickstart\ACCOUNTS.GDB),用戶名:SYSDBA;口令:masterkey;登錄到數據庫中,點擊"Next"。如圖21。 圖21 3、 根據提示,選擇ACCOUNT表,"Next",選擇表中所有的列,"Next"到"Finish"。 4、 保存所有的文件,然後編譯工程。(單擊工具欄的 和 圖標)。這樣,我們實際上就已經完成了這個Entity Bean的開發工作。JBuilder4的嚮導已經在配置描述符中增加了一個入口和一個數據源的入口。 一個Entity Bean只不過是生成的代碼。下面我們將建立一個客戶程序來訪問這個Entity Bean。這個客戶程序將建立四個Entity Bean的實例,在數據庫的Account表中建立四行數據。 使用JBuilder4的EJB Test Client Wizard,在這一次我們建立的測試客戶程序,將依靠Account EJB,根據提示,使用缺省的類名:AccountTestClient1就可以了。利用嚮導,生成main函數,然後在生成的main函數的try…catch語句塊中,"accountHome = (AccountHome) PortableRemoteObject.narrow(ref, AccountHome.class);"的後面,加入下面的代碼: Account ac1=accountHome.create("John",150); Account ac2=accountHome.create("Paul",150); Account ac3=accountHome.create("George",150); Account ac4=accountHome.create("Ringo",150); 用鼠標右鍵點擊項目窗格的AccountHome.java文件,選擇"Properties…"。在彈出窗口中的"Build"標籤中的"VisiBroker"標籤中,選擇"Generate IIOP",點擊"OK"。 保存所有的文件,然後編譯工程。(單擊工具欄的 和 圖標)。3. 配置 我們仍然在JBuilder4中運行EJB容器。客戶程序將依靠運行在EJB容器中的Entity Bean在數據庫的Account表中建立四行數據。 首先,建立一個庫,這樣當我們運行EJB容器的時候,InterClient JDBC驅動程序能夠被添加到classpath。 步驟: 1、 在JBuilder4中選擇"Project"-"Project Properties…"。 2、 在"Required Libraries"標籤中,點擊"Add…"。 3、 在彈出的窗口中,點擊"New…"。 4、 將JBuilder4安裝目錄下的lib子目錄裡的interclient.jar文件添加到"Library Paths"中。 5、 "Name"值設為:InterClient。 完成之後,就可以運行你建立的應用了。 確認VisiBroker Smart Agent、InterBase Server和InterClient的InterServer仍然在運行。 點擊工具條上的 ,運行容器。等待容器初始化。用鼠標右鍵點擊項目窗口的AccountTestClient1.java,選擇"run"。 完成之後,運行JDBC Explorer。 展開"interbase://localhost/D:\project\quickstart\ACCOUNTS.GDB",點擊"Tables"下的ACCOUNT表。在右邊窗格選擇Data標籤。你將看到程序所創建的新的四行數據。 如圖22。 圖22 |
| webasp.net |