Apache Olingo - JPA Processor Extension

1 项目准备

1.1 MYSQL数据库

安装
解压下载的mysql,命令行进入\MySQL\bin
运行命令初始化mysqld --initialize-insecure --user=mysql,当出现Service successfully installed表示MySQL服务已经安装
输入:net start mysql启动服务,出现MySQL服务启动成功,表示这一次配置完毕
登陆
输入mysql -u root -p然后回车,提示输入密码,如果没有密码就回车。
常用命令
show databases;#列出所有的服务器上的数据库
create database if not exists test;#创建一个数据库
drop database test;#删除数据库
show tables from test;#显示一个数据库中的表
use test;#使用数据库
创建表

create table Employee(
  id int primary key auto_increment,
  firstName varchar(20),
  lastName varchar(20)
 );

1.2 Eclipse配置

安装Eclipse Data Tools
在Eclipse中,点击Install New Software,添加url http://download.eclipse.org/datatools/updates/1.13/1.13.0.201603142002/repository/
安装成功后,可以通过 Window->Show View->Data Source Explorer 打开,右击Database Connection->New,选中MySQL。
出现Unable to locate JAR/zip in file...错误时,可以在JAR List中删除里面的jar,再添加正确的mysql jar包。

Apache Olingo - JPA Processor Extension_第1张图片

创建Maven项目
新建Maven项目,选择war打包。创建成功后,右击项目,在Properties->Project Facts中,勾选JPA
Apache Olingo - JPA Processor Extension_第2张图片

在webapp下创建WEB-INF/web.xml文件
pom.xml
按照下表创建依赖
Apache Olingo - JPA Processor Extension_第3张图片

编辑pom.xml,然后Maven Install

  
    
      javax.servlet
      servlet-api
      2.5
      provided
    
    
      org.apache.cxf
      cxf-rt-frontend-jaxrs
      2.7.5
      compile
    
    
      org.apache.olingo
      olingo-odata2-core
      2.0.0
      compile
    
    
      org.apache.olingo
      olingo-odata2-api
      2.0.0
      compile
    
    
      org.apache.olingo
      olingo-odata2-jpa-processor-api
      2.0.0
      compile
    
    
      org.apache.olingo
      olingo-odata2-jpa-processor-core
      2.0.0
      compile
    
    
      org.apache.olingo
      olingo-odata2-jpa-processor-ref
      2.0.0
      compile
    
    
      org.slf4j
      slf4j-log4j12
      1.7.1
      compile
    
    
      junit
      junit
      3.8.1
      test
    
    
      org.eclipse.persistence
      eclipselink
      2.5.2
      compile
    
    
      org.eclipse.persistence
      javax.persistence
      2.0.5
      compile
    
    
      mysql
      mysql-connector-java
      5.1.32
      compile
    
  

2 实现OData Service

2.1 创建JPA Model

选中项目右击 New -> Other -> JPA Entities from Tables, 选中相应的数据库连接并选择相应的表,得到相应的model类


Apache Olingo - JPA Processor Extension_第4张图片

2.2 创建ODataJPAServiceFactory

代码如下

package main;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;

public class EmployeeListServiceFactory extends ODataJPAServiceFactory {
  private static final String PERSISTENCE_UNIT_NAME = "test-web";
  @Override
  public ODataJPAContext initializeODataJPAContext()
      throws ODataJPARuntimeException {
        ODataJPAContext oDatJPAContext = this.getODataJPAContext(); 
        try {   
          EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); 
          oDatJPAContext.setEntityManagerFactory(emf);  
          oDatJPAContext.setPersistenceUnitName(PERSISTENCE_UNIT_NAME); 
          return oDatJPAContext;    
        } catch (Exception e) { 
          throw new RuntimeException(e);    
        }

  }

}

2.3 配置web.xml

配置Servlet,拦截/emplist.svc/*请求

  
  
    RestProjectTest  
      
        ODataServlet  
        org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet  
          
            javax.ws.rs.Application  
            org.apache.olingo.odata2.core.rest.app.ODataApplication  
          
          
            org.apache.olingo.odata2.service.factory  
            main.EmployeeListServiceFactory  
          
        1  
      
      
        ODataServlet  
        /emplist.svc/*  
      
    

2.4 配置JPA的persistence.xml文件

配置model类及数据库连接属性

    
          model.Employee
          
                 
                 
                 
          
       

2.5 运行项目

部署到Tomcat服务器,通过相关url查看


Apache Olingo - JPA Processor Extension_第5张图片

你可能感兴趣的:(Apache Olingo - JPA Processor Extension)