在應用程式中將OJB作為一個儲存層使用(一) (轉)

gugu99發表於2007-08-17
在應用程式中將OJB作為一個儲存層使用(一) (轉)[@more@]

介紹:

本文透過一個簡單的例子說明了怎樣使用關係對映橋(OJB)。例子含有義產品

目錄和一些功能。程式的隨OJB原始碼一起釋出,包含在org..

ojb.tutorial1包中。

文件演示了了透過物件關係橋(PersistenceBroker)去實現五個使用者功能的小程式

的具體結構。五個功能中包括對物件的修改,刪除,存取等操作。文件也演示了怎樣把

一個Product存取物件對映到關聯式資料庫中的一個表。

示例程式:

該例子是一個控制檯下的程式,透過不同的使用者輸入資料來操作產品目錄資料庫,包括

五個功能:

1. List all Products D――列出庫存所有產品

2. Enter a new Product D D―在庫存裡建立一個新產品

3. Edit an existing Product record D――修改庫存裡的一個產品

4. Delete a Product record D DㄉD境?獯胬鐧囊桓霾??

5. Quit the application D――為了統一,我們也把它作為一個功能

以上的五個功能,僅僅能函蓋OJB的一些基礎概念。例子中沒有提出怎樣實現1:1,1:

n或是m:n的對映,想了解這些可以去看導學三 D――高階O/R.

執行例子程式:

為了文件中所示程式,你首先必須準備好例子。沒有必要去一個資料庫,例子

程式已經整合了H資料庫,你所要做的就是用Ant執行示例程式。

解OJB的原始碼,確保你現在所處的目錄式OJB所在的目錄:

在 9x/NT/2000/XP下:

  準備例子:執行binuild.bat prepare-tutorials

  執行例子:執行bin utorial1.bat

在/下:

  準備例子:執行bin/build.sh prepare-tutorials

  執行例子:執行bin/tutorial1.sh

示例程式的結構:

整個程式的結構可以用下面的類圖來表示。

程式含有一些UseCases。UseCase介面透過一個抽象基類AbstractUseCase來實現,該類

為具體類的實現提供了一些很使用的程式碼。有四個具體的UseCase類:UCListAllProduc

ts,UCEnterNewProduct,UCDeleteProduct和UCQuitApplication類。Product類表示在

在product資料庫中的一條product記錄。

Application.run()方法實現了一個迴圈,程式在Application.UserCase()方法中

等待使用者的輸入,一旦某個功能被選擇,UseCase.apply()方法將被。UseCase是通

過我們熟悉的Command設計來實現。

  while (true)

  {

  try

  {

  // select a use case and perfoit

  UseCase uc = selectUseCase();

  uc.apply();

  }

  catch (Throwable t)

  {

  System.out.println(t.getMessage());

  }

  }

UseCase方法含有兩個方法:getDescription()方法和apply()方法。UseCase.getDescr

iption()方法用來把功能的基本資訊顯示給使用者,在Application.selectUseCase()方法

中將會給出一個關於所有功能的目錄。UseCase.apply()方法是不同功能的商業邏輯實現

下面是最簡單的功能UCQuitApplication類中apply()方法的實現:

  public void apply()

  {

  System.out.println("bye...");

  System.exit(0);

  }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-963442/,如需轉載,請註明出處,否則將追究法律責任。

相關文章