一步一步用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