MyEclipse 在線訂購專享特惠!火爆開搶>>java
使用REST Web Services來管理JPA實體。在逆向工程數據庫表後生成REST Web服務,下面的示例建立用於管理博客條目的簡單Web服務。你將學會:瀏覽器
- 利用數據庫逆向工程開發REST Web服務
- 部署到Tomcat服務器
- 使用REST Web服務資源管理器進行測試
沒有MyEclipse? 當即下載服務器
1.創建項目和數據庫鏈接
要在MyEclipse中開始REST和反向工程,您將須要如下內容:app
- 添加了JPA Facets的項目
- 使用DB Explorer選擇要使用JPA進行逆向工程的表
在MyEclipse中,您能夠將JPA Facets添加到許多不一樣類型的項目中。JPA Facets一般被添加到Java項目或Web項目中。eclipse
1.1設置Web項目
- 單擊New圖標上的下拉箭頭,而後選擇Web Project。
- 在Project Name字段中輸入RESTProject,接受默認選項,而後單擊Finish。
建立Web項目ide
如今已經建立了項目,下一步是建立一個DB Connection來與該項目一塊兒使用。在添加JPAFacet時,須要選擇鏈接。工具
1.2創建DB鏈接
MyEclipse提供了一個預配置的DB鏈接,指向Apache Derby DBMS的嵌入式安裝。您能夠當即使用這個鏈接,而不須要設置本身的DBMS或鏈接。post
- 單擊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。
- 點擊。您能夠在原始視圖中看到您的帖子條目。