MyEclipse 3.15 Style——在線購買低至75折!火爆開搶>>數據庫
【MyEclipse最新版下載】安全
本教程介紹了MyEclipse中的一些基於PA的功能。 閱讀本教程時,瞭解JPA和實體映射如何與註釋一塊兒工做的基本概念將會頗有幫助。 在本教程中,您將學習如何:eclipse
持續時間:30分鐘ide
沒有MyEclipse? 如今下載學習
因爲MyEclipse生成了大量的代碼,所以您能夠快速專一於編寫「業務邏輯」,或者更具體地說,「實際執行的代碼」。在本節中,您將編寫一個帶有main方法的Java類,該方法將Productline插入到數據庫中,檢索並更新它,而後刪除。使用這段代碼,您應該可以看到在本身的應用程序中使用JPA實體是多麼容易,而無需編寫JDBC代碼或任何其餘持久性代碼。spa
1. 右鍵單擊com.myeclipseide.jpa包,而後選擇New>Class。設計
2. 在Name字段中輸入RunJPA,選擇Public static void main複選框,而後單擊Finish。orm
生成的類對象
在生成新的類和main方法後,您須要編寫代碼來成功處理Productline的實例。blog
注意:下面的代碼看起來很長很複雜,但這是由於咱們試圖在一個代碼塊中顯示四個不一樣的示例。 若是您查看每一個操做(保存,加載,更新,刪除),它們都不會包含多行代碼。
3. 將如下代碼添加到main方法中,而後按Ctrl + S進行保存。
/* 1. Create a reference to our ID */ String productLineID = "Men's Shoes"; /* 2. Create a new Productline instance */ Productline newProductline = new Productline( productLineID, "Shoes for men.", "Men's Shoes", null); /* 3. Create a DAO instance to use */ ProductlineDAO dao = new ProductlineDAO(); /* 4. Store our new product line in the DB */ EntityManagerHelper.beginTransaction(); dao.save(newProductline); EntityManagerHelper.commit(); /* 5. Now retrieve the new product line, using the ID we created */ Productline loadedProductline = dao.findById(productLineID); /* 6. Print out the product line information */ System.out.println("*NEW* Product Line [productLine=" + loadedProductline.getProductline() + ", textDescription=" + loadedProductline.getTextdescription() + ", image=" + loadedProductline.getImage() + "]"); /* * 7. Now let's change same value on the product line, and save the * change */ loadedProductline.setTextdescription("Product line for men's shoes."); EntityManagerHelper.beginTransaction(); dao.save(loadedProductline); EntityManagerHelper.commit(); /* * 8. Now let's load the product line from the DB again, and make sure * it text description changed */ Productline secondLoadedProductline = dao.findById(productLineID); System.out.println("*REVISED* Product Line [" + "productLine=" + secondLoadedProductline.getProductline() + ", textDescription=" + secondLoadedProductline.getTextdescription() + ", image=" + secondLoadedProductline.getImage() + "]"); /* 9. Now let's delete the product line from the DB */ EntityManagerHelper.beginTransaction(); dao.delete(secondLoadedProductline); EntityManagerHelper.commit(); /* * 10. To confirm the deletion, try and load it again and make sure it * fails */ Productline deletedProductline = dao.findById(productLineID); /* * We use a simple inlined IF clause to test for null and print * SUCCESSFUL/FAILED */ System.out.println("Productline deletion: " + (deletedProductline == null ? "SUCCESSFUL" : "FAILED"));
注意: 將事務數據庫的代碼片斷換成事務是一個好主意,因此若是操做失敗(例如DB崩潰),那麼試圖在事務中發生的全部更改都會回滾到它們的原始值,而不是隻有一半 工做完成。
上面的代碼看起來使人望而生畏,但它背靠背作了不少簡單的事情。 例如,若是您只想將新項目存儲在數據庫中,則只須要程序中步驟1-3的代碼,這些代碼將三行代碼相減(減去註釋)便可。 如下是每一個編號部分的細目: