MyEclipse使用教程:使用REST Web Services管理JPA實體
MyEclipse 線上訂購專享特惠!火爆開搶>>
使用REST Web Services來管理JPA實體。在逆向工程資料庫表後生成REST Web服務,下面的示例建立用於管理部落格條目的簡單Web服務。你將學會:
- 利用資料庫逆向工程開發REST Web服務
- 部署到Tomcat伺服器
- 使用REST Web服務資源管理器進行測試
沒有MyEclipse? 立即下載
1.建立專案和資料庫連線
要在MyEclipse中開始REST和反向工程,您將需要以下內容:
- 添加了JPA Facets的專案
- 使用DB Explorer選擇要使用JPA進行逆向工程的表
在MyEclipse中,您可以將JPA Facets新增到許多不同型別的專案中。JPA Facets通常被新增到Java專案或Web專案中。
1.1設定Web專案
- 單擊New圖示上的下拉箭頭,然後選擇Web Project。
- 在Project Name欄位中輸入RESTProject,接受預設選項,然後單擊Finish。
建立Web專案
現在已經建立了專案,下一步是建立一個DB Connection來與該專案一起使用。在新增JPAFacet時,需要選擇連線。
1.2建立DB連線
MyEclipse提供了一個預配置的DB連線,指向Apache Derby DBMS的嵌入式安裝。您可以立即使用這個連線,而不需要設定自己的DBMS或連線。
- 單擊OpenPers.圖示,並從選單中選擇Database Explorer。
- 在DB Browser檢視中,選擇MyEclipse Derby連線,然後單擊Open Connection圖示。這將啟動嵌入式MyEclipse Derby伺服器,並使您能夠立即訪問資料庫中的表。
開啟資料庫連線
MyEclipse Derby包括幾個示例模式。您將使用的表是MYBLOG表,其中包含一個用於處理部落格帖子的表。
Post table
1.3將JPA Facets新增到專案中
開啟DB連線後,您可以將JPA方面新增到專案中,以便它可以從DB連線訪問表和資訊。
- 切換回Java企業透檢視,右鍵單擊專案,並選擇“配置方面”>安裝JPA方面。
- 選擇2.1作為JPA規範版本,以及MyEclipse泛型Java執行時在目標執行時下拉,然後單擊Next。
配置JPA方面 - 使用EclipseLink 2.5.x作為平臺,使用MyEclipse Library作為JPA實現型別。在Connection欄位中選擇MyEclipse Derby,選擇Add driver庫來構建路徑並從連線複選框中重寫預設模式,並從Schema下拉選單中選擇MYBLOG。單擊“完成”。
完成JPA方面配置
現在專案已經添加了完全配置的JPA方面,其中包括JPA配置資訊、DB連線資訊,以及新增到專案的構建路徑中的所有必要的JDBC和JPA庫。所有構建路徑新增都準備好部署到應用伺服器。
專案結構
2.Reverse-Engineer the POST表
現在已經設定了專案,您已經準備好將POST表逆向工程到專案中並開始使用生成的實體。
- 右鍵單擊專案,然後選擇JPA工具>GenerateEn.es&DAO。
注意:您可以選擇使用MyEclipse逆向工程工具或DALI實體生成器。做出選擇,單擊OK,然後完成嚮導。本教程使用MyEclipse逆向工程工具。
逆向工程工具選擇 - 選擇POST表,單擊Add,然後單擊Next。
指定要進行逆向工程的POST表 - 在Java包欄位中,鍵入COM.MycliestId.jPa。選擇以下複選框:
Entity Bean Generation: 告訴MyEclipse生成被註釋為JPA實體的普通Java類
Update persistence.xml:類似於Hibernate;您可以列出在JPA配置檔案中使用的所有JPA實體。
Java Data Access Generation:告訴MyEclipse為您生成DAO實用程式類,允許您立即從資料庫中儲存/查詢/更新/刪除實體。這段程式碼包裝了JPA實體管理器,並使得使用實體和DB非常容易。
Generate Precise findBy Methods:告訴MyEclipse生成findByXXX方法,其中XXX與被反轉的實體上的每個屬性有關。這允許使用任何屬性作為查詢實體的手段,輕鬆訪問DB中的實體。
Generate Java Interfaces:選擇此選項建立一個具有相應的DAO實現類的介面類。取消選擇此選項只生成DAO實現類,而不用定義介面的單獨類。
建立逆向工程 - 單擊Finish。您可以檢視通過展開Explorer檢視中的com.myeclipseide.jpa包生成的資源MyEclipse。
生成的類
所生成的實體描述如下:
- EntityManagerHelper:當使用直接JPA時,開發人員需要使用EntityManager類。這個生成的助手類通過提供靜態方法訪問管理器,以及最容易呼叫的常見操作,使得使用EntityManager的過程更加容易。
- IPostDAO:定義相應DAO實現類的介面的類。
- post:這個類是表示DB表POST的JPA實體(POJO)。這個POJO包含POST表的欄位,並且表示DB中的一行。
- PostDAO:這個類包裝了EntityManagerHelper以提供易於使用的方法,特別是用於從DB中新增/查詢/更新和刪除產品的方法。
注意:在反向工程完成之後,您可以開啟Persistence透檢視,使用一些永續性和資料來源工具來分析DB和專案中的資料。
3.使用REST Web服務訪問資料
可以通過RESTWeb服務公開從資料庫表生成的JPA實體。為此,您必須首先將JAX-RS方面安裝到專案中。當您通過REST服務公開實體時,會生成REST外觀。這些外觀提供了通過REST公開的用於管理資料庫的方法。
- 右鍵單擊專案,然後選擇Configure Facets>Install JAX-RS(REST Web Services)Facet。
- 接受預設JAX-RS 2.1版本和預設目標執行時,然後單擊Next。
選擇JAX-RS版本和目標執行時 - 接受預設facet配置,然後單擊Finish。
完成JAX-RS配置 - 右鍵單擊資源管理器中的com.myeclipseide.jpa包,並選擇Web服務工具>通過REST Web服務公開。
- 包和EntityManagerHelper類是預設的。如果對多個實體進行了逆向工程,則可以選擇要公開的實體。在這種情況下,您只有一個。單擊Finish生成REST外觀。
Generating REST facades
如果開啟PraseDeSerest.java檔案,您可以看到可用的方法,如建立、編輯、刪除和查詢。
可用的REST外觀方法
4.部署Web服務應用程式
部署Web服務的最快的方法是使用Run As或Debug As MyEclipse Server Application操作部署專案。
- 右鍵單擊專案,並選擇Run As>MyEclipse Server Application。
- 選擇MyEclipse Tomcat,然後單擊Finish。
MyEclipse執行以下步驟:
- 將專案打包並以爆炸模式將其部署到應用程式伺服器
- 啟動應用伺服器並載入專案
5.使用REST Web服務資源管理器進行測試
REST Web服務資源管理器在MyEclipse標準訂閱級別不可用。如果您是MyEclipse標準訂戶,請按照使用標準瀏覽器測試Web服務的說明操作。
- 右鍵單擊專案,並選擇Web服務工具>Test with REST Web Services Explorer。
注意:如果部署到MyEclipse Tomcat以外的應用伺服器,則資源管理器中使用的WADL URL可能包含不正確的埠,從而阻止資源管理器載入WADL檔案。更正埠,然後單擊Go按鈕繼續。
還可以通過單擊工具欄上的Web Services Explorer圖示上的下拉箭頭,並選擇Launch REST Web Services Explorer,開啟REST Web Services Explorer。在這種情況下,在繼續之前,必須在位址列中輸入WADL檔案的路徑。 - 將樹展開到count節點,並選擇countREST方法。
選擇要測試的方法 - 單擊測試方法。將開啟一個新選項卡,您可以在其中輸入資訊並執行測試。
用於測試方法的countREST選項卡 - 單擊執行測試圖示。在Raw響應區域中,觀察計數為0,因為沒有建立帖子。
- 關閉countREST選項卡。
- 在Post節點中選擇create方法,然後單擊Test method。
- 從create選項卡上的Representation下拉列表中選擇application/xml。
- 在Body中,鍵入application/xml區域,貼上以下程式碼,然後單擊。實體建立成功。
<post> <title>My First Post</title> <content>Welcome to my new blog</content> </post>
部落格條目測試響應 - 關閉create選項卡。
- 選擇countREST方法,並單擊Test method。
- 點選。計數現在顯示您剛剛釋出的條目的1。
- 在Post節點中,選擇findAll方法,然後單擊Test method。
- 點選。您可以在原始檢視中看到您的帖子條目。