Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pl.test.soa.rest;
- import pl.test.soa.entity.Movie;
- import javax.persistence.EntityManager;
- import javax.persistence.Persistence;
- import javax.ws.rs.*;
- import javax.ws.rs.core.MediaType;
- import java.util.List;
- @Path("/movies")
- public class MoviesController {
- private EntityManager em = Persistence.createEntityManagerFactory("Movies").createEntityManager();
- @GET
- @Path("/hello2")
- @Produces(MediaType.TEXT_PLAIN)
- public String sayPlainTextHello() {
- return "Hello there!";
- }
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public List<Movie> getMovies() {
- List<Movie> list = em.createQuery("select m from Movie m", Movie.class)
- .getResultList();
- return list;
- }
- @GET
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- public Movie getMovie(@PathParam("id") int id) {
- return em.createQuery("select m from Movie m where m.id = :id", Movie.class)
- .setParameter("id", id)
- .getSingleResult();
- }
- @POST
- @Consumes(MediaType.APPLICATION_JSON)
- public void postMovie(Movie movie) {
- em.getTransaction().begin();
- em.persist(movie);
- em.getTransaction().commit();
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- package pl.test.soa.entity;
- import javax.persistence.*;
- import javax.xml.bind.annotation.XmlRootElement;
- @Entity
- @Table(name = "MOVIES")
- @XmlRootElement(name = "Movie")
- public class Movie {
- @Id
- @GeneratedValue
- private int id;
- private String title;
- private String uri;
- public Movie(String title, String uri) {
- this.title = title;
- this.uri = uri;
- }
- public Movie() {
- }
- @Column(name = "id")
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- @Column(name = "title")
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
- @Column(name = "uri")
- public String getUri() {
- return uri;
- }
- public void setUri(String uri) {
- this.uri = uri;
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
- <servlet>
- <servlet-name>Jersey REST Service</servlet-name>
- <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
- <init-param>
- <param-name>com.sun.jersey.config.property.packages</param-name>
- <param-value>pl.test.soa.rest</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
- <param-value>true</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Jersey REST Service</servlet-name>
- <url-pattern>/resources/*</url-pattern>
- </servlet-mapping>
- </web-app>
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- persistence.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
- <persistence-unit name="Movies">
- <class>pl.test.soa.entity.Movie</class>
- <properties>
- <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/pieskot"/>
- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
- <property name="javax.persistence.jdbc.user" value="root" />
- <property name="javax.persistence.jdbc.password" value="" />
- <property name="hibernate.show_sql" value="true" />
- <property name="hibernate.format_sql" value="false" />
- <property name="hibernate.use_sql_comments" value="false" />
- <property name="hibernate.hbm2ddl.auto" value="update"/>
- <!-- albo: MySQLInnoDBDialect -->
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
- </properties>
- </persistence-unit>
- </persistence>
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- <dependencies>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- <version>3.3.1</version>
- </dependency>
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-bundle</artifactId>
- <version>1.19.4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.9.9</version>
- </dependency>
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-json</artifactId>
- <version>1.14</version>
- </dependency>
- </dependencies>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement