NetBeans Java EE技巧3:数据库中的RESTful Web服务

许多现代的Web应用程序正朝着使用HTTP使用无状态通信的方向发展。 REST(代表性状态转移)体系结构样式通常用于设计网络应用程序,而使用Java EE 7,很容易开发用于数据库通信的RESTful后端。 使用简单的POJO(普通的Java旧对象),可以通过将注释应用于方法签名来提供无状态数据库通信的完整解决方案。

NetBeans通过提供诸如从数据库生成RESTful Web服务的功能等工具,使开发人员可以更加高效地创建RESTful解决方案。 这使开发人员可以选择一个或多个数据库表,从这些数据库表中生成RESTful Web服务,而无需进行任何编码。 与“数据库中的实体类”非常相似,此过程更进一步,不仅可以生成所需的实体类,还可以生成用于以RESTful方式执行CRUD数据库操作的完整Web服务类。

首先,右键单击NetBeans中的源包,然后选择“新建”->“ Web服务”->“来自数据库的RESTful Web服务”(图1)。 这将打开“来自数据库的新RESTful Web服务”对话框。

图1:从数据库创建RESTful Web服务

图1:从数据库创建RESTful Web服务

图2:“数据库”对话框中的新RESTful Web服务

图2:“数据库”对话框中的新RESTful Web服务

在此对话框中,选择要连接的数据源,然后从“可用表”列表中选择一个或多个表,然后将其添加到“选定表”列表中。 选择“下一步”。 在下一个对话框中,您将能够指定包的位置,以及为实体类生成哪些注释(图3)。

图3:为您的实体类指定选项

图3:为您的实体类指定选项

接下来,您可以为服务类指定包的位置。 如果尚未为您的项目生成NetBeans向导,则还将生成ApplicationConfig类,并将其放入此资源包中。 需要ApplicationConfig才能为应用程序中的RESTful Web服务配置访问点。

图4:指定资源包位置

图4:指定资源包位置

就这样...单击“完成”以生成类。 您将看到为所有数据库表(以及可选的相关表)生成了实体类。 在选择的资源包中,将为每个实体类生成Web服务类,并且如果尚不存在ApplicationConfig类,则还将生成ApplicationConfig类(图5)。

图5:向导生成的类

图5:向导生成的类

执行完这些步骤之后,现在对于所选的每个数据库表都有一个完全可用的Web服务。 这些Web服务类可用于开发将与数据库通信的无状态应用程序。

图6:RESTful Web服务类

图6:RESTful Web服务类


翻译自: https://www.javacodegeeks.com/2016/03/netbeans-java-ee-tip-3-restful-web-services-database.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python的序列包括字符串列表和什么_Python基础:03序列:字符串、列表和元组

一:序列1:连接操作符()这个操作符允许把一个序列和另一个相同类型的序列做连接,生成新的序列。语法如下:sequence1 sequence2该表达式的结果是一个包含sequence1和sequence2 的内容的新序列。注意,这个操作不是合并操…

vue 父组件与子组件之间的传值(主动传值)

一&#xff0c;父组件主动传值 1&#xff0c;父组件 <Settlement-Table1 ref"comp1"></Settlement-Table1>click(){this.$refs.comp1.getData(this.list1) } // this.list1 是需要穿的值2&#xff0c;子组件 getData(data){console.log("父组件…

参数php_PHP多参数方法的重构

php中文网最新课程每日17点准时技术干货分享假设我们要完成一个保存文章的功能&#xff0c;如果采用函数编程的方式&#xff0c;大概会是下面这个样子&#xff1a;<?php function saveArticle($title, $content, $categoryId){ // ...}?>每个参数代表一个属性&#…

[转载].NET平台微服务项目汇集

最近博客园出现了一篇文章《微服务时代之2017年五军之战&#xff1a;Net PHP谁先死》&#xff0c;掀起了一波撕逼&#xff0c;作者只是从一个使用者的角度来指点江山&#xff0c;这个姿势是不对的。.NET Core就是专门针对模块化的微服务架构而设计&#xff0c;在微服务架构这方…

k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法

文章目录 1、问题描述2、查看node03的日志3、错误原因分析4、解决办法 1、问题描述 k8s集群配置为 一主三个节点&#xff1b;刚开始运行一直正常&#xff1b;某天突然node03主机状态变为notready&#xff0c;问题如下&#xff1a; 在master节点使用&#xff1a; #master节点…

el-tree与el-transfer结合成树形穿梭框(tree-transfer)

下载 npm install el-tree-transfer --save<tree-transfer :title"[模块&#xff08;菜单&#xff09;访问权限, 拥有的操作权限]":from_datafromData:to_datatoData:defaultProps"{label:label, children: children}"addBtnaddremoveBtnremove:modemo…

kickstart_具有Java Kickstart的MongoDB

kickstartNoSQL数据库由于其可伸缩性而变得越来越流行。 适当使用时 NoSQL数据库可以提供真正的好处。 MongoDB是使用C 编写的高度可扩展的开源NoSQL数据库。 1.安装MongoDB 您可以按照所使用的操作系统&#xff0c;按照MongoDB官方网站上的说明安装MongoDB&#xff0c;而不会…

DataGuard之DG环境搭建

DG 环境搭建 1.设置归档模式 DG环境的搭建必须要把数据库启动到归档模式&#xff0c;并且为了避免开发人员使用nologging语句&#xff0c;我们还要把数据库设置为force logging。 查看数据库是否运行在归档模式&#xff1a; #su - oracle $sqlplus / as sysdba SQL>archive…

关于抢红包的_关于抢红包的话题800字作文

随着互联网的发展,一些习惯正在我们身边悄悄形成。例如&#xff1a;抢红包&#xff0c;今天学习啦小编为大家精心挑选了关于抢红包的话题800字作文&#xff0c;希望能够很好的帮助到大家。关于抢红包的话题800字作文篇1红包&#xff0c;装得下钞票&#xff0c;却载不动细腻的亲…

uView(Tabbar 底部导航栏)

&#xff08;一&#xff09;第一种方式 1&#xff0c;每个菜单页面都要 “首页” “发布” “我的” 每个页面都要 <template><view>首页<u-tabbar:list"tabBar" change"changeEvent()" bg-color"rgb(51, 61, 73)"active-colo…

了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)

JDK 9引入了一个称为紧凑字符串的新功能。 鉴于Java程序中普遍存在字符串&#xff0c;我认为这是一个非常重要的更改&#xff0c;所有Java开发人员都必须理解。 在此视频中&#xff0c;查理亨特&#xff08;Charlie Hunt&#xff09;解释了此新功能的历史和实现。 该视频实际上…

a算法解决八数码问题_javascript,八皇后问题解决

八皇后问题 八皇后问题&#xff0c;是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。 该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a; 在88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c; 即&#xff1a;任意两个皇后都不能处于…

vue项目中使用mock(二)

一&#xff0c;安装&#xff1a; npm install mockjs --save-dev目录&#xff1a; src 同级目录下新建 mock 文件夹 下 新建 mock.js 和 tags.js 文件 二&#xff0c;main.js 中导入&#xff1a; require(/mock/mock.js)三&#xff0c;mock.js 文件&#xff1a; const Moc…

CentOS6.9部署zabbix3.0监控系统

环境&#xff1a; [rootredis ~]# uname -a Linux redis 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [rootredis ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [rootredis ~]# getenforce Disabled [rootredis …

输出整形变量语句_Python合集之Python变量

在上一节的合集中&#xff0c;我们了解了Python的保留字与标识符&#xff0c;本节我们将进一步了解一下Python中关于变量的问题。变量严格意义上来讲应该称之为“名称”&#xff0c;也可以理解为标签。在Python中&#xff0c;不需要先声明变量名及其数据类型&#xff0c;直接赋…

FormData使用方法详解

FormData的主要用途有两个&#xff1a; 1、将form表单元素的name与value进行组合&#xff0c;实现表单数据的序列化&#xff0c;从而减少表单元素的拼接&#xff0c;提高工作效率。 2、异步上传文件 一、创建formData对象 1、创建一个空对象&#xff1a; //通过FormData构造函…

IKVM:java代码c#调用

在工作中遇到对接java接口&#xff0c;涉及到java加密或签名问题&#xff0c;.net无法实。就将java代码编辑为dll给.net调用 注&#xff1a;这里只做简单java代码处理&#xff0c;不涉及到复杂的java包 java文件处理&#xff1a; 第一步:简单java代码 package com.zht;//c#命名…

activemq 连接_ActiveMQ网络连接器

activemq 连接这篇文章对我以及对ActiveMQ的网络连接器的工作方式可能感兴趣的任何ActiveMQ贡献者都适用。 我最近花了一些时间查看代码&#xff0c;并认为最好画一些快速的图表来帮助我记住我学到的知识&#xff0c;并在将来发现问题时帮助将来确定在哪里进行调试。 如果我输入…

如何让fragment刷新界面_快速实现android版抖音主界面的心得

原文作者&#xff1a;DK_BurNIng如何快速确定竞品某个界面的实现方式&#xff1f;当你收到产品一个需求是模仿某个竞品且时间很短没有过多时间给你调研技术方案的时候&#xff0c;如何尽快确定这个功能的技术方案呢&#xff1f; 这里我给出我自己的一个小窍门&#xff0c;可以避…

js的深浅拷贝( 赋值后原值被覆盖的问题 )

1&#xff0c;浅拷贝&#xff08; 浅拷贝会复制所有引用对象的指针&#xff0c;而不是具体的值 &#xff09; 复制对象的所有属性都不是引用类型时&#xff0c;就可以使用浅拷贝 浅拷贝方式&#xff1a; Object.assign() [].slice()2&#xff0c;深拷贝&#xff08; 复制一个…