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。
- 点击。您可以在原始视图中看到您的帖子条目。

更多资讯敬请访问MyEclipse中文网>>
MyEclipse使用教程:使用REST Web Services管理JPA实体的更多相关文章
- MyEclipse使用教程:在Web项目中使用Web片段
MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程向用户展示了使用关联的Web项目创建Web片段项目的机制.用户还可以获得要检查的示例项目.在本教 ...
- Web Services 教程
Web Services 可使您的应用程序成为 Web 应用程序. Web Services 通过 Web 进行发布.查找和使用. Web Services 是应用程序组件 Web Services ...
- Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么(转)
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么?修改 建站有很多技术,如 HTML.HTML5.X ...
- abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)
Introduction With AspNet MVC Web API EntityFramework and AngularJS 地址:https://aspnetboilerplate.com/ ...
- 基于Spring设计并实现RESTful Web Services(转)
基于Spring设计并实现RESTful Web Services 在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务. 为什么用RESTful网络服务? 从和Amazon ...
- Delphi 6 Web Services初步评估之二(转)
Delphi 6 Web Services初步评估之二(转) ★ 测试环境:CPU:PIII 550内存: 256MBOS: Windows2000 Server + SP2Web Server: ...
- Delphi 6 Web Services初步评估之三(转)
Delphi 6 Web Services初步评估之三(转) Delphi 6 Web Services初步评估之三(转)★ 测试总体印象:在整个测试中,对Delphi 6创建的Web Servi ...
- Web Services 介绍
Web Services 介绍 Web Services 是建立可交互操作的分布式应用程序的新平台 ; Web Services 平台是一套标准,它定义了应用程序如何在 Web 上进行交互操作 , 你 ...
- 利用PHP SOAP扩展实现简单Web Services
原文:利用PHP SOAP扩展实现简单Web Services WebServices能干什么? WebServices 可以将应用程序转换为网络应用程序. 通过使用 WebServices,您的应用 ...
随机推荐
- ado.net常用操作
目录 一.ADO.NET概要 二.ADO.NET的组成 三.Connection连接对象 3.1.连接字符串 3.1.1.SQL Server连接字符串 3.1.2.Access连接字符串 3.1.3 ...
- ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)
转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...
- 20165327 2017-2018-2 《Java程序设计》第7周学习总结
20165327 2017-2018-2 <Java程序设计>第7周学习总结 教材内容总结 第十一章 (一)MySQL数据库服务器 下载安装MySQL服务器 启动MySQL数据库服务器 在 ...
- 宿主iis部署wcf
WCF学习笔记(4)——宿主iis部署wcf 本文将部署一个wcf+silverlight简单实例,以下是详细步骤: (环境:服务端win2003,iis6.0,asp.net4.0:客户端winXP ...
- LeetCode--387--字符串中的第一个唯一字符
问题描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 案例: s = "leetcode" 返回 0. s = "lovel ...
- p1465 Preface Numbering
用这个函数转成罗马数字统计就行了. #include <iostream> #include <cstdio> #include <cmath> #include ...
- Confluence 6 修改导航显示选项
选择 子页面(Child pages)来在边栏中查看当前页面的子页面. 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面. 你也可以选择是否完全隐藏导航显示选项或者添加你希望可 ...
- dp 二维乃至多维背包
洛谷P1855 榨取kkksc03 分析:套路是很明显的01背包,但是这时受约束的变量有两个了,这种情况下就该用多维背包了 分析方法一样的,用dp[i][j][k]表示从前i个愿望中挑选总时间和总金钱 ...
- vivadio关联notepad++的关键式
D:\Program Files\Notepad++\notepad++.exe +[line number] [file name]
- python-部分redis
数据量非常大时想向数据库中保存的时候,可以在中间加一个队列(队列的长度可以控制),可能数据库一个个取会效率慢一些,但是不会服务端不会蹦 redis: 端口6379 1.本质:向内存中存数据 2.对内存 ...