Tutorial Hibernate + Vraptor para projetos Restful.

Documentos relacionados
TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

POO Programação Orientada a Objetos

Introdução ao Hibernate. Hibernate Mapeamento com Anotação. Projeto Desktop Uma Classe. Objetivo. Programas Utilizados

Demoiselle Tutorial Documentation

Criação de um novo projeto no Eclipse utilizando Maven

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools

PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

DW2 Desenvolvimento Web 2

Este Tutorial básico irá nos orientar como salvar e carregar uma imagem a partir de banco de dados (MySQL), utilizando Hibernate e Java.

Criando um CRUD RESTful com Jersey, JPA e MySQL

Spring ORM- Object Relational Mapping Utilizando JPA Crislaine da Silva Tripoli

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA

Sistema SGPA-IFSP. Manual de Instalação

Demoiselle Tutorial Módulo 1 Arquitetura

Tutorial Módulo 06 - Segurança

Utilizando Swing com Hibernate

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Evento.java. package dominio;

Vamos falar de Hibernate?

Spring Framework. Parte 01 introdução e primeiros passos

Managed Beans e Tags JSF

Instalação Wiser Discovery Sistema Operacional Windows

Desvendando o Hibernate

Primefaces 3. Laboratório Passo-a-Passo. JSF - Primefaces. Prof. Leandro Rubim de Freitas Versão 1.

Desenvolvimento de Sistemas Corporativos Aula 1.5 Introdução a Servlets. Prof. Bruno Moreno

Groupware Workbench Tutorial de instalação da Aplicação-Exemplo no Eclipse

Introdução ao JSF. Daniel Bruno II Semana de Tecnologia da Informação UNIVEM

JPA Java Persistence API. Prof. Ramon Chiara

Manual Dos Técnicos. Meu Primeiro Projecto Java IGRP JAVA OPEN SOURCE NOSI - NÚCLEO OPERACIONAL DA SOCIEDADE DE INFORMAÇÃO

Para criar um projeto no ambiente eclipse utiliza-se o menu File, New e Project como ilustra a Figura 1.

Spring Framework. Parte 02 acesso a dados e testes de integração


Particionamento de Banco com o Hibernate Shards

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

Criando um Editor de Diagramas com Sirius

Integrated Government Resources Planning IGRP Open Source. Como importar e contribuir - GitHub. Núcleo Operacional da Sociedade de Informação

Instalando o Eclipse e o Android

Exercícios de fixação: Listas

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

Configurando uma aplicação Struts

HIBERNATE Criando um projeto em Java + Hibernate do zero

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Conexão Java Mini-curso Hibernate

Prática da Disciplina de Sistemas Distribuídos Web Services Parte 1 IFMA DAI Professor Mauro Lopes C. Silva

Universidade da Beira Interior. Sistemas Distribuídos /2015 Curso: Engª Informática. Folha 11. JAX-RS: Java API for RESTful Web Services

Framework Demoiselle QuickStart Emerson Oliveira Emerson Saito Luciano Borges Marlon Carvalho Rodrigo Hjort Serge Rehem

Figura 1: Eclipse criação de um Dynamic Web Project

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

Descompacte o arquivo site zip que foi baixado dentro da pasta do eclipse.

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Guia de instalação do REIS para desenvolvedores

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

INSTALAÇÃO. Guacamole Acesso remoto de qualidade

INTRODUÇÃO A PERSISTÊNCIA DE DADOS COM HIBERNATE E ANNOTATION

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular

PROJETO FINANCEIROWEB GRADUAÇÃO TECNOLÓGICA EM GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Demoiselle Tutorial Módulo 2 Persistência

Conheça mais da Caelum. Cursos Online Casa do Código. Blog Caelum blog.caelum.com.br

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.

Tutorial Módulo 01 Arquitetura Anexo I. Tutorial Módulo 01 Arquitetura Anexo I. LABORATÓRIO 01 Arquitetura e Configuração

Inicialmente precisamos instalar o servidor tomcat7, segue comando de instalação.

FJ-28. Desenvolvimento Ágil para a Web 2.0 com VRaptor, Hibernate e AJAX

Refatoração Melhorando o sistema e preparando pra a Web

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

mhtml:file://d:\utfpr\2009-2\especialização Java\Materiais de Aula\02 - JSF\Estud...

Tutorial JAVA Web com JSF 2.0, Facelts, Hibernate 3.5 com JPA 2.0, Spring 3.0 e PrimeFaces 2.2.1

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

Java EE 7 com JSF, PrimeFaces e CDI por Thiago Faria

Java EE 7 com JSF, PrimeFaces e CDI por Thiago Faria

Tendo em vista que a instalação é muito fácil (Next, next, finish) não iremos abordar isto ok ;)

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Departamento de Computação Curso de Análise e Desenvolvimento de Sistemas Modelagem Conceitual de Dados

Transcrição:

Tutorial Hibernate + Vraptor para projetos Restful. Configurando o Projeto Passo 1 Baixe o Eclipse IDE for Java EE Developers: https://www.eclipse.org/downloads. Passo 2 Vamos criar um novo projeto Maven, para isso clique em New ->Project -> Maven Project.

Passo 3 Marque a opção Create a simple Project (skip archetype selection). Passo 4 Em group id coloque a URL que o teu projeto será publicado futuramente (escrevendo ao contrário). Em artifact pode colocar o nome do projeto. Em packaging troque para WAR.

Passo 5 Aqui você pode ver que foi criada a estrutura padrão de packages java de um projeto Maven. Passo 6 Vamos criar o web.xml na pasta src/main/webapp/web-inf para configuramos o weld como listener para ativar o CDI.

Não esqueça de especificar a pasta WEB-INF no parent folder para criar a pasta WEB-INF. <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:web="http://java.sun.com/xml/ns/javaee" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>vraptor4</display-name> <listener> <listener-class>org.jboss.weld.environment.servlet.listener</listener-class> </listener> </web-app> Passo 7 Agora vamos configurar o Tomcat. Baixe o Tomcat * em: http://tomcat.apache.org/download-80.cgi. Baixe o Binary Distributions Core, a versão zip ou tar.gz. Descompacte no seu computador.

Na aba Servers, clique em No servers are available. Click this link to create a new server. Selecione Tomcat v8.0 Server

Em Tomcat installation directory informe a pasta onde o Tomcat foi descompactado e depois clique em Finish. Adicione nosso projeto no Tomcat

Passo 8 Agora que aplicação está configurada, vamos configurar no pom.xml do Maven as libs do nosso projeto restful. Os pacotes são: jstl: Javax servlet. java.inject: Dependência para o CDI funcionar no VRaptor. vraptor 4.1.0: Framework web. weld-servlet-core: Referência do CDI para o Tomcat. weld-core-impl: Referência do CDI para o Tomcat. javax.el: Para JSPs. hibernate-validator-cdi: Dependência para o validator para o VRaptor (vou fazer um post só sobre o Validator). hibernate-core: Core do Hibernate 4. vraptor-hibernate: Plugin do VRaptor para injetar a SectionFactory do Hibernate no seu DAO ou Repository. Mysql: No meu projeto estou usando o mysql como banco de dados. <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>br.ufpi.teste</groupid> <artifactid>vraptor4</artifactid> <version>0.0.1-snapshot</version> <packaging>war</packaging> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <project.reporting.outputencoding>utf-8</project.reporting.outputencoding> </properties> <dependencies> <groupid>jstl</groupid> <artifactid>jstl</artifactid>

<version>1.2</version> <groupid>javax.inject</groupid> <artifactid>javax.inject</artifactid> <version>1</version> <groupid>br.com.caelum</groupid> <artifactid>vraptor</artifactid> <version>4.1.0.final</version> <groupid>org.jboss.weld.servlet</groupid> <artifactid>weld-servlet-core</artifactid> <version>2.1.2.final</version> <groupid>org.jboss.weld</groupid> <artifactid>weld-core-impl</artifactid> <version>2.1.2.final</version> <groupid>javax.el</groupid> <artifactid>el-api</artifactid> <version>2.2</version> <scope>provided</scope> <groupid>org.hibernate</groupid> <artifactid>hibernate-validator-cdi</artifactid> <version>5.1.1.final</version> <groupid>org.hibernate</groupid> <artifactid>hibernate-core</artifactid> <version>4.3.6.final</version> <groupid>br.com.caelum.vraptor</groupid> <artifactid>vraptor-hibernate</artifactid> <version>4.0.0.final</version> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.1.6</version> </dependencies> <build> <pluginmanagement> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </pluginmanagement>

</build> </project> Colocamos na tag <build> o plugin maven-compiler para dizer que usaremos o Java-SE 1.7, ou seja, Java 7, fazendo isso o projeto vai dar erro, para resolver clicamos com o botão direito no projeto, Maven -> Update Project

Passo 9 Criamos o beans.xml na pasta src/main/resources/meta-inf para que o CDI funcione corretamente.

Não esqueça de especificar a pasta META-INF no parent folder para criar a pasta META-INF <?xml version="1.0" encoding="utf-8"?> <beans 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/beans_1_1.xsd" version="1.1" bean-discovery-mode="all"> </beans> Passo 10 Criamos o hibernate.cfg.xml no build path src/main/resources e configuramos os dados da SessionFactory para acesso ao Mysql. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD.//EM" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.url">jdbc:mysql://localhost:3306/vraptor4</property> <property name="connection.driver_class">com.mysql.jdbc.driver</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="dialect">org.hibernate.dialect.mysql5innodbdialect</property> <property name="hbm2ddl.auto">update</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <mapping class="br.ufpi.vraptor4.model.entity.empresa"/> </session-factory> </hibernate-configuration> Note que já mapeamos a nossa Entity que criaremos posteriormente Também deixamos a propriedade hbm2ddl.auto como update, para que o Hibernate crie a tabela no banco de dados quando usarmos a aplicação Não esqueça de criar o SCHEMA vraptor4 no mysql. Passo 11 Criamos nossa Entity Empresa na package br.ufpi.vraptor4.model.entity.

package br.ufpi.vraptor4.model.entity; import javax.persistence.entity; import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import javax.persistence.sequencegenerator; @Entity public class Empresa {

@Id @SequenceGenerator(name = empresa_seq, sequencename = empresa_seq, allocationsize = 1) @GeneratedValue(strategy = GenerationType.IDENTITY, generator = empresa_seq ) private Long id; private String nome; private Long documento; public Long getid() { return id; public void setid(long id) { this.id = id; public String getnome() { return nome; public void setnome(string nome) { this.nome = nome; public Long getdocumento() { return documento; public void setdocumento(long documento) { this.documento = documento; Passo 12 Criarmos nosso Repository Empresa na package br.ufpi.vraptor4.model.repository.

package br.ufpi.vraptor4.model.repository; import javax.enterprise.context.requestscoped; import javax.inject.inject; import java.util.list; import org.hibernate.criteria; import org.hibernate.session; import br.ufpi.vraptor4.model.entity.empresa; @RequestScoped public class EmpresaRepository { @Inject private Session session; private Criteria createcriteria() { return session.createcriteria(empresa.class); @SuppressWarnings("unchecked") public List<Empresa> list() { return createcriteria().list(); Passo 13 Criamos nossa Controller Empresa na package br.ufpi.vraptor4.model.controller.

A anotação @Controller mapeia nossa Controller no VRaptor. package br.ufpi.vraptor4.controller; import javax.inject.inject; import br.com.caelum.vraptor.controller; import br.com.caelum.vraptor.get;

import br.com.caelum.vraptor.path; import br.com.caelum.vraptor.result; import br.com.caelum.vraptor.view.results; import br.ufpi.vraptor4.model.repository.empresarepository; @Controller @Path("/empresa") public class EmpresaController { @Inject private Result result; @Inject private EmpresaRepository empresarepository; @Get @Path("/list") public void listall() { result.use(results.json()).withoutroot().from(empresarepository.list()).serialize(); Passo 14 Enfim, vamos testar nossa aplicação!! iniciamos o servidor Tomcat, botão direito Start. Em seguida, acessamos o endpoint /empresa/list.