在應用程式中將OJB作為一個儲存層使用(一) (轉)
介紹:
本文透過一個簡單的例子說明了怎樣使用關係對映橋(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FRAM作為程式碼儲存器應用中的單晶片解決方案晶片
- OceanBase 儲存層程式碼解讀(一)引言
- 將座標系統儲存為一個檔案.prj
- 在快應用中整合華為AGC雲端儲存服務GC
- 使用 NSUserDefaults 儲存字典的一個坑
- 一個伺服器輕鬆儲存上億資料,TDengine 在北京智慧建築邊緣儲存的應用伺服器
- Laravel 使用 Elasticsearch 作為日誌儲存LaravelElasticsearch
- 使用NFS作為Glance儲存後端NFS後端
- Wpf應用程式作為一個單獨的可執行檔案
- Angular 如何為多個專案使用單一儲存倉庫Angular
- 將一個Collection轉為陣列陣列
- 編寫一個程式,對一個整型陣列的元素求和,結果使用全域性變數sum儲存,另外對陣列元素中的奇數求和,結果使用區域性變數sum儲存,在主程式將兩個結果輸出。陣列變數
- Unite Mac,將網站轉換為應用程式Mac網站
- 將網站轉化為應用程式Unite for Mac網站Mac
- k8s使用rbd作為儲存K8S
- CoreData:使用CoreData完成一個通訊錄儲存
- 在風能和太陽能儲存中的新應用
- 在Centos8 中使用Stratis管理本地儲存(一)CentOS
- 如何將html程式碼儲存為Pdf檔案HTML
- 在邊緣使用MRAM是其另一個潛在應用
- 將網站轉化為應用程式:Unite mac啟用版網站Mac
- 從一個問題中瞭解數學在程式設計中的應用程式設計
- 作為最常用的儲存協議,企業如何進行NAS儲存統一管理?協議
- JS中將一個值轉換為字串的3種方法JS字串
- 第一個 Angular 應用程式Angular
- 如何查詢一個儲存過程是否在執行儲存過程
- 使用MATLAB compiler將matlab程式轉成獨立應用程式exeMatlabCompile
- Taro:將已有微信小程式轉換為多端應用微信小程式
- Coherence X for mac(將網站轉變為Mac應用程式)Mac網站
- 使用Electron製作一個快速搜尋應用(入門向)
- OceanBase 儲存層程式碼解讀(三)巨集塊儲存格式
- OceanBase 儲存層程式碼解讀(二)微塊儲存格式
- 在 Mac 上執行 Windows 應用程式,只需一個CrossOver!MacWindowsROS
- 雲原生儲存系列文章(一):雲原生應用的基石
- 子元件獲取父元件的值,將這個值作為狀態值儲存元件
- 在Docker中,可以在一個容器中同時執行多個應用程序嗎?Docker
- Rust中如何將本地時間轉換為另一個時區?Rust
- 分層架構在資料倉儲的應用架構
- MATLAB|讀取一個檔案,並將其不同內容儲存為不同的矩陣Matlab矩陣