在應用程式中將OJB作為一個儲存層使用(四) (轉)
刪除:
UCDeleteProduct類允許用於從products中選擇一條記錄並將它從庫中刪除。輸
入產品的productId,broker試著查詢指定的product。我們不需要擁有真個產品目錄,
所以查詢是很有必要的。Broker接著將找到的product刪除,程式碼如下:
public void apply()
{
String in = readLineWithMessage("Delete Product with id:");
int id = Integer.parseInt(in);
// We do not have a reference to the ed Product.
// So first we have to lookup the ,
// we do this by a query by example (QBE):
// 1. build an example object with matching primary key values:
Product example = new Product();
example.setId(id);
// 2. build a QueryByCriteria from this sample instance:
Query query = new QueryByCriteria(example);
try
{
// start broker transaction
broker.beginTransaction();
// lookup the product specified by the QBE
Product toBeDeleted = (Product) broker.getObjectByQuery(query);
// now ask broker to delete the object
broker.delete(toBeDeleted);
// commit transaction
broker.commitTransaction();
}
catch (Throwable t)
{
// rollback in case of errors
broker.abortTransaction();
t.printStackTrace();
}
}
在本文中,QueryByCriteria方法被用來使功能實現變得簡單,程式碼更加少。我們也可以
透過Criteria物件建立一個指定過濾條件的查詢,下面的程式碼簡單地實現了透過Criter
ia物件來建立一個查詢:
// build filter criteria:
Criteria criteria = new Criteria();
criteria.addEqualTo(_id, new Integer(id));
// build a query for the class Product with these filter criteria:
Query query = new QueryByCriteria(Product.class, criteria);
...
我們可以任意地指定條件來建立複雜的查詢。下面的程式碼透過Criteria類實現了一個更
複雜查詢,它將獲得所有價格少於5。40,並且至少有兩百萬庫存量的產品目錄:
// build filter criteria:
Criteria criteria = new Criteria();
criteria.addLessThan("price", new Double( 5.40 ));
criteria.addGreaterThan("stock", new Integer( 2000000 ));
// build a query for the class Product with these filter criteria:
Query query = new QueryByCriteria(Product.class, criteria);
...
完成例項:
例項程式的完成工作留給讀者自己。
現在你應該已經對OJB PesistenceBroker的基本功能很熟悉。為了更好的深入,你可以
考慮實現下面的額外功能:
1. 列出所有價格大於1000的產品目錄(或者讓使用者輸入條件)
2. 刪除所有庫存量為0的產品
3. 給所有價格低於500的產品提價11%(並存入儲存庫)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-963451/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在應用程式中將OJB作為一個儲存層使用(一) (轉)
- 在應用程式中將OJB作為一個儲存層使用(二) (轉)
- 在應用程式中將OJB作為一個儲存層使用(三) (轉)
- 在應用程式中將OJB作為一個儲存層使用(六) (轉)
- 在應用程式中將OJB作為一個儲存層使用(五) (轉)
- FRAM作為程式碼儲存器應用中的單晶片解決方案晶片
- 在.Net中將MailMessage儲存為本地eml檔案(轉)AI
- 將Oracle作為NoSQL文件儲存OracleSQL
- 在vue中,localStorage本地儲存應用。Vue
- 將FileSystem轉換為ASM儲存ASM
- Attribute在.NET程式設計中的應用(四) (轉)程式設計
- Linux系統在儲存技術中的幾項應用(轉)Linux
- Laravel 使用 Elasticsearch 作為日誌儲存LaravelElasticsearch
- 使用NFS作為Glance儲存後端NFS後端
- 在風能和太陽能儲存中的新應用
- 如何在安卓應用程式中儲存資料安卓
- 將座標系統儲存為一個檔案.prj
- 在ADO.NET中使用Oracle儲存程式(轉)Oracle
- 在快應用中整合華為AGC雲端儲存服務GC
- OJB查詢(一) (轉)
- 使用data.js作為統一的資料儲存中心JS
- 如何將複雜的應用邏輯從儲存過程移植到業務層儲存過程
- 儲存網路在企業應用中的安全隱患
- Unite Mac,將網站轉換為應用程式Mac網站
- 將網站轉化為應用程式Unite for Mac網站Mac
- Attribute在.net程式設計中的應用(一) (轉)程式設計
- 雙緩衝在畫板程式中的應用(一) (轉)
- 在一個WEB應用程式中如何實現使用者上下線啊Web
- OceanBase 儲存層程式碼解讀(一)引言
- 如何將html程式碼儲存為Pdf檔案HTML
- 一個伺服器輕鬆儲存上億資料,TDengine 在北京智慧建築邊緣儲存的應用伺服器
- 子元件獲取父元件的值,將這個值作為狀態值儲存元件
- Wpf應用程式作為一個單獨的可執行檔案
- Taro:將已有微信小程式轉換為多端應用微信小程式
- 將網站轉化為應用程式:Unite mac啟用版網站Mac
- 分層架構在資料倉儲的應用架構
- OJB簡介--翻至ojb docs (轉)
- Linux程式設計:將PHP作為Shell指令碼使用(轉)Linux程式設計PHP指令碼