导言
首先让我们试着了解什么是OData关于:-
1.)Odata帮助您构建和使用restful Web服务。
2.)它帮助您只关注业务逻辑,而不是关注请求和响应头、状态码、HTTP方法、URL约定、媒体类型、负载格式和查询选项等等我们必须这么做在开发restful Web服务时,
3.)另外,云服务器好用吗,OData提供了扩展到fullfil的便利,满足您restful API的任何定制需求。
4.)OData(开放数据协议)是OASIS标准
所以现在我们可以说OData是一个标准化XML格式的restful Web服务。
现在用java创建OData服务器,apache为我们提供了一个非常有用的库,名为OLingo.
OLingo库可以用JPA创建,也可以不用JPA创建,但是当我们创建没有JPA的OData项目时,下面的OData特性是无法实现的使用时间:-
$filter:—在sql中用作where条件
$select:—指定要获取select的字段。
$top:—用作rownum在查询中
Imple心理状态:-
现在让我们来看看如何创建第一个Olingo项目:-
1.)使用以下命令创建maven项目命令:-
mvn原型:generate-DgroupId=com.sf.example-DartifactId=odata sample-DarchetypeArtifactId=maven原型快速启动-DinteractiveMode=false
2.)创建一个pom.xml文件文件为附件,这将下载所有需要的olingo与OData2.
3.)现在创建持久性.xml作为显示:-
org.eclipse.persistence网站.jpa.PersistenceProvider
模范员工
4.)现在在数据库中创建一个表Employee,并为该表创建实体类,淘客宝,如下所示:显示:-
@实体
@表(name="Employee")
公共类员工{
@Id
@Column(name="EmplID")
private String EmplID;
@Column(name="FirstName")
private String FirstName;
@Column(name="LastName")
private String LastName;
public String getEmplID(){
return EmplID;
}
public void setEmplID(String EmplID){
此.emplID=emplID;
}
公共字符串getFirstName(){
返回firstName;
}
public void setFirstName(字符串firstName){
这个名字=firstName;
}
public String getLastName(){
return lastName;
}
public void setLastName(String lastName){
这个姓=lastName;
}
}
5.)现在让我们为OData项目创建最重要的文件显示:-
主包装;
进口java.net.URI;
进口javax.persistence.EntityManager工厂;
导入javax.persistence.persistence文件;
导入器g.apache.olingo奥达塔2。jpa.processor.api.ODataJPAContext;
导入org.apache.olingo网站奥达塔2。jpa.processor.api.ODataJPAServiceFactory;
导入org.apache.olingo网站奥达塔2。jpa.processor.api.exception.ODataJPARuntimeException异常;
公共课PolicyServiceFactory扩展ODataJPAServiceFactory{
私有静态最终字符串持久化\u UNIT \u;
@Override
public ODataJPAContext initializeODataJPAContext()抛出ODataJPARuntimeException{
ODataJPAContext ODataJPAContext=此.getODataJPAContext();
尝试{
URI=oDataJPAContext.getODataContext().getPathInfo().getRequestUri();
uri.getQuery();
EntityManager工厂emf=Persistence.CreateEntityManager工厂(单位名称);
oDataJPAContext.SetEntityManager工厂(电动势);
oDataJPAContext.setPersistenceUnitName(PERSISTENCE_UNIT_NAME);
返回oDataJPAContext;
}catch(异常e){
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
6.)现在应用以下maven命令为给定的项目:-
mvn clean
mvn compile
mvn install
7.)现在将创建的war放在tomcat的webapps文件夹中,以便在tomcat上部署我们的项目。
8.)现在,一旦项目成功部署,使用下面的url,看看它有多简单从浏览器访问数据库本身:-
:8081/odata样品/extdatasrc.svc文件/
:8081/odata样品/extdatasrc.svc/员工
这将获取Employee表中的所有记录显示:-
:8081/odata样品/extdatasrc.svc/Employees?$filter=EmplD eq 1
这将获取EmplID等于1的reocrd。
:8081/odata样品/extdatasrc.svc/Employees?$top=1
取rownum小于等于1的记录。
:8081/odata样品/extdatasrc.svc/Employees?$select=FirstName
它应该获取所有的reocrd,物联网工程是什么,但是有特定的列,对于FirstName在这个例子中
嗨,
我是OLingo的新成员。
我们不写:
方法吗?请引导。
问候,
普里亚
嗨,开源建站系统,普里亚,
你为什么要写这些,当OLingo为我们处理所有这些事情时,我不认为有必要编写这些方法,请您解释一下。
如果我们单独使用一些ORM,免费自助建站系统,那么我们肯定会编写这些方法。
但是我们可以使用以下方法访问EntityManager代码:-
EntityManager工厂emf=Persistence.CreateEntityManager工厂(持久性_单位_名称);
EnetityManager em=emf.createEntityManager();
通过这样做,您可以访问任何JPA方法。
谢谢
Manuj
您能详细说明您的问题吗。。?