You are on page 1of 52

1

Java Enterprise Edition - JEE


01. Persistncia com JPA2 e Hibernate




Esp. Mrcio Palheta
gtalk: marcio.palheta@gmail.com
2
Agenda
Introduo arquitetura web
Arquitetura Model View Controller
Definies do projeto
Mapeamento Objeto Relacional MOR
Camada de modelo com JPA 2
Camadas de viso e controle com
XHTML, Ajax e JSF 2
Arquitetura Distribuda

3
Arquitetura padro MVC
Model camada de modelo,
responsvel pelo acesso a dados;
View camada de viso, responsvel
pela interao entre usurios e o
sistema;
Control cama de controle, resposvel
pela implementao de regras de
negcio da aplicao;
4
5
Requisitos do software
A Big O uma empresa que atua no ramo
de venda de medicamentos e deseja
controlar o cadastro de produtos:
Escolha das tecnologias
Uso da arquitetura MVC;
Camadas View e Controller: JSF2
Camada Model: JPA2 com Hibernate
Banco de dados: MySQL 5.x
Servidor de WEB: Apache Tomcat 7.x
http://tomcat.apache.org
IDE: Eclipse JEE 3.7 Indigo
www.eclipse.org
6
Instalao eclipse e tomcat
Descompacte eclipse e tomcat na pasta
c:/java
7
Execute o eclipse

8
Configurao do tomcat no
eclipse
No eclipse, abra a aba Servers:
Digite Ctrl+3;
Digite servers e selecione a opo da lista
9
Configurao do servidor
Na aba Servers, clique com o boto
direito e selecione New/Server
10
Escolha a verso do Tomcat


11
Caminho da instalao

12
Assumindo o controle do
servidor de web
Duplo clique
em Tomcat
v7.0
Selecione
Use
Tomcat
Salve os
dados
13
Pgina inicial do Tomcat


14
15
Criao do projeto WEB
Clique em: New / Project / Web
Selecione: Dynamic Web Project e
clique em Next>;
Projeto JSF2: notasfiscais


16
Configurao de pacotes

17
Configurao do mdulo web

18
Configuraes JSF


19
Projeto gerado

20
Cpia das bibliotecas para
WebContent/WEB-INF/lib

21
22
Deploy da aplicao
Na aba Servers, clique com o boto
direito no Tomcat e selecione a opo
Add and Remove Projects:
Deploy da aplicao

23
Deploy da aplicao
Aplicao disponvel para acesso web
24
Persistncia de dados
Uso de padres de mercado;
Especificao JPA 2;
Provider Hibernate 3;
O padro de projeto DAO;
A seguir, implementao da camada de
modelo do nosso projeto;
25
MySQL Workbench
Neste curso, nosso
SGBD ser o
MySQL
E a administrao
feita MySQL
Workbench;
Crie uma nova
conexo
26
Dados da conexo


27
Abertura de conexo
Aps a criao da
conexo, voc tem
um meio de acesso
ao banco e dados;
Execute a nova
conexo: localhost
28
Criao do banco de dados

29
Crie uma nova classe java no
eclipse

30
A classe Produto.java

31
Encapsulamento da JPA
JPA atua diretamente na camada de
dados persistncia;
Vamos espalhar o cdigo de acesso por
toda a nossa aplicao?
NO.
Vamos encapsular as regras da camada
de modelo em classe utilitrias.
32
Data Access Object - DAO
Padro de projeto que define classes
utilitrias para acesso s tabelas do BD
Classes do tipo DAO emcapsulam o
acesso base de dados da aplicao;
Relacionamento:
Tabela: Produto;
Classe DAO: ProdutoDAO;
33
Lista de atividades
Criao do arquivo de configuraes;
Classe para criao de conexes com o
banco de dados;
Implementao da classe ProdutoDAO;
Implementao de testes unitrios com
Junit
Reviso da camada de modelo
34
Edio do arquivo
src/META-INF/persistence.xml

35
A classe JPAUtil.java

36
A classe ProdutoDAO.java


37
Continuao...


38
Testes da camada de modelo
Validar cada pequeno pedao de cdigo
Testes da aplicao
Tipos de testes
Testes unitrios
Aplicando Junit ao nosso sistema
39
Criao da classe de testes
Selecione JUnit Test Case:
40
Definio da classe de testes


41
Seleo de mtodos a testar


42
Atualizao do build path

43
Classe de testes gerada

44
Teste de cadastro de produtos


45
Execuo dos testes
Seleciona a classe e digite Ctrl+F11
46
Resultados da execuo


47
Verificao no SGBD

48
Exerccios
Implemente os cdigos apresentados;
Crie testes para os demais mtodos da
classe Produto DAO
49
O que vem a seguir?
Desenvolvimento dos componentes
visuais
Camada de viso com XHTML e EL
Camada de controle com JSF2
Integrao da camada de modelo
camada de controle
Concluso do minicurso com a
implementao da arquitetura MVC

50
51
Referncias
www.caelum.com.br
http://hibernate.org/docs
http://java.sun.com/j2ee/1.6/docs/tutorial/d
oc/index.html
http://java.sun.com/blueprints/corej2eepatte
rns/Patterns/index.html
52
Java Enterprise Edition - JEE
01. Persistncia com JPA2 e Hibernate




Esp. Mrcio Palheta
gtalk: marcio.palheta@gmail.com

You might also like