MyEclipse持續性開發教程:用JPA和Spring管理資料(四)
MyEclipse紅運年貨節 線上購買低至69折!火爆開搶>>
本教程介紹了MyEclipse中的一些基於JPA / Spring的功能。有關設定JPA專案的基礎知識,請先閱讀JPA教程。 本教程主要關注MyEclipse中的JPA-Spring整合以及如何利用這些函式。您將學習到:
- 為JPA和Spring建立一個專案
- 反向設計一個資料庫表來生成實體
- 實現建立,檢索,編輯和刪除功能
- 啟用容器管理的事務
持續時間:30分鐘
沒有MyEclipse? 現在下載
三、寫一個應用程式
3.3 更新實體
現在程式碼的下一部分可能看起來更長,但這是因為會列印出新的值,並確認記錄已在資料庫中更新。
/* 1. Now retrieve the new product line, using the ID we created */
Productline loadedProductline = dao.findById(productlineID);
/*
* 2. Now let's change same value on the product line, and save the
* change
*/
loadedProductline.setTextdescription("Product line for men's shoes.");
TransactionStatus status = txManager .getTransaction(new DefaultTransactionDefinition());
dao.update(loadedProductline);
txManager.commit(status);
/* * 3. Now let's load the product line from the DB again, and make sure
* its text description changed
*/
Productline secondLoadedProductline = dao.findById(productlineID);
System.out.println("*REVISED* Product Line [" + "productLine="
+ secondLoadedProductline.getProductline()
+ ", textDescription="
+ secondLoadedProductline.getTextdescription() + "]");
注意update呼叫是用一個事務封裝的,因為它必須向資料庫寫入一些東西,並且需要防止失敗。
在上面的第3節中,產品線在更新後立即從資料庫載入,並列印出從資料庫返回的值以確認更新。
3.4 刪除一個實體
刪除實體與儲存和更新實體幾乎相同。 工作被封裝在一個交易中,然後DAO被告知要做這項工作。
/* 1. Now retrieve the new product line, using the ID we created */
TransactionStatus status = txManager
.getTransaction(new DefaultTransactionDefinition());
Productline loadedProductline = dao.findById(productlineID);
/* 2. Now let's delete the product line from the DB */
dao.delete(loadedProductline);
txManager.commit(status);
/*
* 3. To confirm the deletion, try and load it again and make sure it
* fails
*/
Productline deletedProductline = dao.findById(productlineID);
/*
* 4. We use a simple inline IF clause to test for null and print
* SUCCESSFUL/FAILED
*/
System.out.println("Productline deletion: "
+ (deletedProductline == null ? "SUCCESSFUL" : "FAILED"));
與上面的updateProductline實現類似,您會注意到事務用於包裝刪除呼叫,然後程式碼嘗試從DB載入實體並確認操作失敗。
注意:事務必須封裝findById和delete方法呼叫的原因是因為由JPA管理的物件必須是同一個事務的一部分。 要刪除載入的物件,它必須在它被載入的同一個事務中,試圖將其刪除。
3.5 執行程式
執行它的輸出如下所示:
輸出
紅色文字是可以忽略的預設日誌訊息(如果要控制日誌記錄,可以設定自定義log4j.properties檔案)。 在日誌警告的下面,您會看到兩條來自TopLink(JPA實現庫)的訊息,然後是三條訊息全部來自實現。
第一條訊息列印出已新增的新產品線資訊,第二條更新訊息並列印新資訊,最後一條訊息從資料庫中刪除並列印確認訊息。
更多資訊敬請訪問MyEclipse中文網>>
相關文章
- MyEclipse持續性開發教程:用JPA和Spring管理資料(五)EclipseSpring
- 用MyEclipse JPA建立專案(四)Eclipse
- 用MyEclipse JPA建立專案(二)Eclipse
- 用MyEclipse JPA建立專案(三)Eclipse
- 用MyEclipse JPA建立專案(一)Eclipse
- 可持續性從產品開發開始
- 快應用開發教程及資源彙總,長期維護,持續更新中。。。
- JAVA開發工具Eclipse和MyEclipseJavaEclipse
- 基於springmvc+spring-data-jpa+dubbo開發web應用SpringMVCWeb
- Spring JPA資料庫連線MySQLSpring資料庫MySql
- Spring Boot 2.x基礎教程:Spring Data JPA的多資料來源配置Spring Boot
- DBeaver安裝教程(開發人員和資料庫管理員通用資料庫管理工具)資料庫
- gitlab和jenkins做持續整合構建教程GitlabJenkins
- 開發常識 持續更新~~
- odrotbohm/jddd:使用Spring和JPA開發支援DDD概念的庫包Spring
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- Laravel 團隊任務管理系統(持續開發、優化)Laravel優化
- Spring Boot整合Spring Data JPA進行資料庫操作Spring Boot資料庫
- SpringBoot2.0應用(四):SpringBoot2.0之spring-data-jpaSpring Boot
- Jenkins 持續整合使用教程Jenkins
- Spring data jpa 外掛開發——解決規範和效率問題Spring
- OSPO如何成為開源可持續性和安全性的關鍵槓桿
- spring mvc 的jpa JpaRepository資料層訪問SpringMVC
- 使用Spring Data JPA進行資料庫操作Spring資料庫
- 最新版 JetBrains 全家桶啟用教程(持續更新)AI
- Spring Batch + JPA 處理 Excel 檔案教程SpringBATExcel
- HTTP非持續連線和持續連線HTTP
- 愛立信:消費者、可持續性和ICT
- MyEclipse安裝教程Eclipse
- Java後臺開發學習(4)——Spring Data JpaJavaSpring
- 微信小程式開發(持續更新)微信小程式
- Spring Boot 2和JPA入門Spring Boot
- Spring Data JPA如何用於資料庫檢視?Spring資料庫
- 資料庫與Redgate SQL Toolbelt和Azure DevOps的持續整合資料庫SQLdev
- 持續整合、持續部署、持續交付、持續釋出
- Spring面試題(持續更新中)Spring面試題
- MongoDB 資料庫管理和開發:Navicat for MongoDB macMongoDB資料庫Mac
- 基於spring-boot&spring-data-jpa的web開發環境整合SpringbootWeb開發環境
- Azure Terraform(八)利用Azure DevOps 實現Infra資源和.NET CORE Web 應用程式的持續整合、持續部署ORMdevWeb