MyEclipse 在线订购专享特惠!火爆开抢>>

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项目

  1. 单击New图标上的下拉箭头,然后选择Web Project。
  2. 在Project Name字段中输入RESTProject,接受默认选项,然后单击Finish。

创建Web项目

现在已经创建了项目,下一步是创建一个DB Connection来与该项目一起使用。在添加JPAFacet时,需要选择连接。

1.2建立DB连接

MyEclipse提供了一个预配置的DB连接,指向Apache Derby DBMS的嵌入式安装。您可以立即使用这个连接,而不需要设置自己的DBMS或连接。

  1. 单击OpenPers.图标,并从菜单中选择Database Explorer。
  2. 在DB Browser视图中,选择MyEclipse Derby连接,然后单击Open Connection图标。这将启动嵌入式MyEclipse Derby服务器,并使您能够立即访问数据库中的表。

    打开数据库连接

MyEclipse Derby包括几个示例模式。您将使用的表是MYBLOG表,其中包含一个用于处理博客帖子的表。

Post table

1.3将JPA Facets添加到项目中

打开DB连接后,您可以将JPA方面添加到项目中,以便它可以从DB连接访问表和信息。

  1. 切换回Java企业透视图,右键单击项目,并选择“配置方面”>安装JPA方面。
  2. 选择2.1作为JPA规范版本,以及MyEclipse泛型Java运行时在目标运行时下拉,然后单击Next。

    配置JPA方面

  3. 使用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表逆向工程到项目中并开始使用生成的实体。

  1. 右键单击项目,然后选择JPA工具>GenerateEn.es&DAO。
    注意:您可以选择使用MyEclipse逆向工程工具或DALI实体生成器。做出选择,单击OK,然后完成向导。本教程使用MyEclipse逆向工程工具。

    逆向工程工具选择

  2. 选择POST表,单击Add,然后单击Next。

    指定要进行逆向工程的POST表

  3. 在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实现类,而不用定义接口的单独类。

    建立逆向工程

  4. 单击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公开的用于管理数据库的方法。

  1. 右键单击项目,然后选择Configure Facets>Install JAX-RS(REST Web Services)Facet。
  2. 接受默认JAX-RS 2.1版本和默认目标运行时,然后单击Next。

    选择JAX-RS版本和目标运行时

  3. 接受默认facet配置,然后单击Finish。

    完成JAX-RS配置

  4. 右键单击资源管理器中的com.myeclipseide.jpa包,并选择Web服务工具>通过REST Web服务公开。
  5. 包和EntityManagerHelper类是默认的。如果对多个实体进行了逆向工程,则可以选择要公开的实体。在这种情况下,您只有一个。单击Finish生成REST外观。

    Generating REST facades

如果打开PraseDeSerest.java文件,您可以看到可用的方法,如创建、编辑、删除和查找。

可用的REST外观方法

4.部署Web服务应用程序

部署Web服务的最快的方法是使用Run As或Debug As MyEclipse Server Application操作部署项目。

  1. 右键单击项目,并选择Run As>MyEclipse Server Application。
  2. 选择MyEclipse Tomcat,然后单击Finish。

MyEclipse执行以下步骤:

  • 将项目打包并以爆炸模式将其部署到应用程序服务器
  • 启动应用服务器并加载项目

5.使用REST Web服务资源管理器进行测试

REST Web服务资源管理器在MyEclipse标准订阅级别不可用。如果您是MyEclipse标准订户,请按照使用标准浏览器测试Web服务的说明操作。

  1. 右键单击项目,并选择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文件的路径。

  2. 将树展开到count节点,并选择countREST方法。

    选择要测试的方法

  3. 单击测试方法。将打开一个新选项卡,您可以在其中输入信息并运行测试。
     

    用于测试方法的countREST选项卡

  4. 单击运行测试图标。在Raw响应区域中,观察计数为0,因为没有创建帖子。
  5. 关闭countREST选项卡。
  6. 在Post节点中选择create方法,然后单击Test method。
  7. 从create选项卡上的Representation下拉列表中选择application/xml。
  8. 在Body中,键入application/xml区域,粘贴以下代码,然后单击。实体创建成功。
    <post>
    <title>My First Post</title>
    <content>Welcome to my new blog</content>
    </post>

    博客条目测试响应

  9. 关闭create选项卡。
  10. 选择countREST方法,并单击Test method。
  11. 点击。计数现在显示您刚刚发布的条目的1。
  12. 在Post节点中,选择findAll方法,然后单击Test method。
  13. 点击。您可以在原始视图中看到您的帖子条目。
     

更多资讯敬请访问MyEclipse中文网>>

MyEclipse使用教程:使用REST Web Services管理JPA实体的更多相关文章

  1. MyEclipse使用教程:在Web项目中使用Web片段

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程向用户展示了使用关联的Web项目创建Web片段项目的机制.用户还可以获得要检查的示例项目.在本教 ...

  2. Web Services 教程

    Web Services 可使您的应用程序成为 Web 应用程序. Web Services 通过 Web 进行发布.查找和使用. Web Services 是应用程序组件 Web Services  ...

  3. 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 ...

  4. abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)

    Introduction With AspNet MVC Web API EntityFramework and AngularJS 地址:https://aspnetboilerplate.com/ ...

  5. 基于Spring设计并实现RESTful Web Services(转)

    基于Spring设计并实现RESTful Web Services 在本教程中,你将会使用Spring来创建一个具有生产力的RESTful网络服务. 为什么用RESTful网络服务? 从和Amazon ...

  6. Delphi 6 Web Services初步评估之二(转)

    Delphi 6 Web Services初步评估之二(转)   ★ 测试环境:CPU:PIII 550内存: 256MBOS: Windows2000 Server + SP2Web Server: ...

  7. Delphi 6 Web Services初步评估之三(转)

    Delphi 6 Web Services初步评估之三(转)   Delphi 6 Web Services初步评估之三(转)★ 测试总体印象:在整个测试中,对Delphi 6创建的Web Servi ...

  8. Web Services 介绍

    Web Services 介绍 Web Services 是建立可交互操作的分布式应用程序的新平台 ; Web Services 平台是一套标准,它定义了应用程序如何在 Web 上进行交互操作 , 你 ...

  9. 利用PHP SOAP扩展实现简单Web Services

    原文:利用PHP SOAP扩展实现简单Web Services WebServices能干什么? WebServices 可以将应用程序转换为网络应用程序. 通过使用 WebServices,您的应用 ...

随机推荐

  1. 雷林鹏分享:C# 环境

    C# 环境 在这一章中,我们将讨论创建 C# 编程所需的工具.我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序.因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一 ...

  2. spring ----> aop的两种实现方式

    实现1:基于xml package com.rr.spring3.interf; //接口 public interface SayHello { public void sayHello(); } ...

  3. python3-知识扩展扫盲易忘-map,collections.Counter()的用法

    map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. >> ...

  4. sgu

    dp第几朵花放第几瓶 104 数论 能不能除3:105    106(ex_gcd引入t求范围交)     107(大数乘的FFT) 开空间技巧108 棋盘黑白格消除109(组合数学) java平方根 ...

  5. android -------- 混淆打包报错(warning - InnerClass annotations are missing corresponding EnclosingMember annotations)

    最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations ...

  6. BigInteger 类 和 BigDecimal 类

    一 .BigInteger BigInteger类在计算和处理任意大小的整数方面是很有用的. BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的. BigInte ...

  7. 『CUDA C编程权威指南』第二章编程题选做

    第一题 设置线程块中线程数为1024效果优于设置为1023,且提升明显,不过原因未知,以后章节看看能不能回答. 第二题 参考文件sumArraysOnGPUtimer.cu,设置block=256,新 ...

  8. 第二阶段——个人工作总结DAY09

    1.昨天做了什么:昨天学习了有关后台的知识. 2.今天打算做什么:实现后台. 3.遇到的困难:还是不知道该如何来做.

  9. spring boot 2.0(二)动态banner的支持

    Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...

  10. python-爬虫-Beautifulsoup模块

    一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你 ...