Java e Banco de Dados: JDBC, Hibernate e JPA



Documentos relacionados
JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)


JPA: Persistência padronizada em Java

UFG - Instituto de Informática

Persistência de dados com JPA. Hélder Antero Amaral Nunes

Como sobreviver com Java 2? Saulo Arruda

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux

Mini-curso Gratuito Globalcode Slide 1

Mapeamento Lógico/Relacional com JPA

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

HIBERNATE EM APLICAÇÃO JAVA WEB

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Persistindo dados com TopLink no NetBeans

Persistência de Dados em Java com JPA e Toplink

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

PROJETO PEDAGÓGICO DE CURSOS

Classes de Entidades Persistentes JDB

Persistência em Software Orientado a Objetos:

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

CURSO DESENVOLVEDOR JAVA Edição 2010

Unidade 7: Middleware JDBC e Java DB Prof. Daniel Caetano (Fonte: Tutorial Oficial do NetBeans)

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Spring: Um suite de novas opções para Java EE

UFG - Instituto de Informática

Desenvolvendo Aplicações Web com NetBeans

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

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

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

TDC2012. EJB simples e descomplicado, na prática. Slide 1

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

WebApps em Java com uso de Frameworks

Fernando Kasten Peinado

Manual de Instalação PIMSConnector em Windows

Produção. Consórcio de Imóveis Sistema para venda de Consórcio Online

Programação e Configuração de Aplicações JEE. Edilmar Alves

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

Criando uma agenda simples com NetBeans 6.5

OPORTUNIDADES: Analista de Sistemas

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Manual para Exportação e Importação de Certificados Digitais

Microsoft Access XP Módulo Um

Java para WEB com Hibernate e Struts 2. Duração 52 horas/aula. Objetvo

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Eberhardt Comércio e Assist. Técnica. Ltda.

Aula 1: Noção Básica e Criação de Tabelas.

JDBC. Prof. Márcio Bueno

Persistência de Classes em Tabelas de Banco de Dados

Integração de sistemas utilizando Web Services do tipo REST

Manual de Procedimentos para Desenvolvimento de Softwares

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Conhecendo o Visual FoxPro 8.0 Parte 1

Manual de Instalação e Configuração do SQL Express

JDBC Java Database Connectivity

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

TUTORIAL: DESENVOLVIMENTO DE APLICAÇÕES COM O HIBERNATE NO NETBEANS

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

Enterprise Java Bean. Enterprise JavaBeans

Manual de Instalação PIMSConnector em Linux

Manual Integra S_Line

FRWTC-235 WORKSHOP ORACLE CERTIFIED JAVA EE 6 JPA DEVELOPER

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

4 - Padrões da Camada de Integração. Introdução

Lição 1 - Criação de campos calculados em consultas

MANUAL DO GERENCIADOR ESCOLAR WEB

VRAPTOR: O FRAMEWORK DE APRENDIZADO JAVA WEB AUGUSTO BEVILAQUA RAFAEL CIRINO LACERDA SAULO ALMEIDA LIMA

Java Beans e Servlets

e-stf WebServices Processo Eletrônico Smart Client Manual de Instalação

Conexão nativa com banco de dados no Delphi

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Experiência em missão crítica de missão crítica

Gerenciador de Referências. EndNote. Nonato Ribeiro Biblioteca de Ciências e Tecnologia (UFC)

CONFIGURADOR DO PAINEL FP1 v 1.3

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Linguagem de Programação Visual

Varejo Digital Automação Comercial para Cupom Fiscal Eletrônico

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

Dados em Java. Introdução

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Capítulo 04: Persistência com SQLite

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

CURSO DESENVOLVEDOR JAVA Edição 2009

NetEye Guia de Instalação

Transcrição:

Java e Banco de Dados: JDBC, Hibernate e JPA 1

Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando pelo Hibernate e chegando até o JPA. 2

Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) Trabalha: Arquiteto JEE / Instrutor Java Formação: Ciências da Computação pela UFSC Experiência: +7 anos com desenvolvimento de sistemas em Java, especialmente para WEB Certificações: SCJA, SCJP 5, SCWCD 1.4, SCEA 5 Hobby: Praia e Cinema 3

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 4

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 5

Persistência Capacidade de gravarmos dados em memórias não voláteis hard-disk, tape-backup, CD, DVD, etc. Necessidade básica, 99% dos softwares corporativos necessitam; Quanto mais culpados queremos encontrar, mais dados armazenamos ; Linguagens como Dbase, Clipper, Visual Object, Paradox, FoxPro eram orientadas a dados persistentes; 6

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 7

Tecnologias populares JDBC com código SQL e Data Access Object Pattern; RDO, ADO e DAO na plataforma Microsoft; PL/SQL com Oracle Forms; 8

JDBC API do Java para acesso a banco de dados; Trabalha com esquema de Driver (4 tipos): JDBC / ODBC Bridge para comunicação com Drivers Windows Nativo Código de acesso ao DB é escrito em C / C++; Middleware Driver DB é acessado via middleware especializado Puro Java Acesso de baixo nível ao DB é totalmente escrito em Java. Driver desejado e utilizado na maior parte. Com o Driver obtemos conexões; Com conexões enviamos comandos; Comandos podem gerar resultados (select) 9

Demo JDBC 10

Mundo novo No mundo novo... Entity Beans 1.x (padrão Java EE) Entity Beans 2.0 e 2.1 (padrão Java EE) Hibernate Oracle TopLink Java Data Objects Prevailer Grande parte das abordagens trocam SQL por XML meta-dado; 11

Alternativas Em algumas implementações, o XML ficou excessivo (Entity 2.x); Alternativas para o padrão Entity Bean: Spring; Pico Container; OJB; Hibernate stand-alone; Hibernate com EJBs Session; Outro framework com Web ou EJB; 12

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 13

Porque utilizar? Custo é opensource LGPL; Benefício é uma solução poderosa, madura e portável compatível com diversos bancos de dados relacionais e servidores de aplicação JEE; Curva de aprendizado é rápida comparada com as outras soluções; Documentação livros publicados e diversos tutoriais e artigos disponíveis na internet; 14

Porque utilizar? Suporte pode ser contratado comercialmente ou pode se recorrer a uma comunidade extremamente ativa nos fóruns de discussão; Padrão De Facto amplamente adotado pelo mercado superando as especificações EJB 2.x e JDO; Conceitos do projeto Hibernate foram adotados para os entity beans segundo a especificação EJB 3; Número de profissionais 15

Exemplo Um JavaBean Cliente, contendo os atributos: id, nome, cpf, telefone, email Uma tabela no RDBMS: idcliente (auto-increment) int nome (varchar 45) cpf (varchar 45) telefone (varchar 45) email (varchar 45) 16

XML s Um hibernate-config.xml configurando o JDBC e dialeto: Devemos criar um XML por entidade para mapeamento; 17

XML s Um xml para cada definição de entidade, neste caso chamamos o arquivo abaixo de Cliente.hbm.xml: 18

Código Java Ler clientes 19

Salvar e Remover 20

Demo Hibernate Clássico 21

Relacionamentos Podemos definir as associações / composições dos nossos objetos. Vejamos um exemplo para a classe Cliente que se relaciona com a classe Endereco: 22

A classe Cliente Totalmente simples, com atributos encapsulados por getters e setters! 23

Demo Hibernate Clássico Com relacionamentos 24

Resumo Hibernate Clássico Conquistou uma grande comunidade devido à sua simplicidade e competência; Tem capacidades para gerenciamento de estratégias de recuperação de objetos compostos; Aumenta a produtividade; Em muitos casos, o código SQL gerado pelo Hibernate é superior ao código humano; 25

O fenômeno XDoclet Diversas tecnologias passaram a utilizar documentos XML como parte da implementação e configuração de um framework: Struts, Hibernate, EJBs, Java Web Components, Log4J, Tiles, etc. Resultado um emaranhado de XMLs para gerenciar; Solução usar comentários no formato JavaDoc para inserir meta-dados e configurações no código Java. 26

O fenômeno XDoclet O Xdoclet estende o JavaDoc, criando anotações no estilo @XPTO para gerar arquivos XML para os frameworks. 27

Annotations No Java 1.5 a anotações são nativas, ou seja, não precisamos colocar em comentários: 28

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 29

Java Persistence API Primeira especificação (padrão) de mapeamento de objetos Java para base de dados relacional Integração com outros frameworks Hibernate é uma implementação de JPA TopLink Essencials é uma implementação de JPA POJO (Plain Old Java Objects) = Entidades Mapeamento via metadados (annotation Java 5) Pode ser utilizado fora de containers EJBs (ligthweigth container) Uso de injeção de dependência ao invés de lookups JNDI 30

Java Persistence API 31

Entidade JPA Exemplo 32

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 33

Hibernate e JPA Downloads: Hibernate 3.3.x Core Hibernate 3.4.x EntityManager Configurar uma biblioteca com os JARS do lib de ambos diretórios; O NetBeans 5.x/6.x oferece suporte para JPA e vem pré-configurado com Oracle TopLink; Pode-se utilizar com Swing, JSF e EJBs; 34

Agenda Histórico sobre persistência Tecnologias populares Hibernate clássico Java Persistence API Hibernate & JPA Demo 35

Java Persistence API Demo 36

Netbeans, JPA, Hibernate e JSF 1. Crie um novo projeto Web 2. Digite o nome do projeto e desabilite o código 1.4 37

Netbeans, JPA, Hibernate e JSF 3. Escolha o framework JSF 4. Em File -> New File, escolha Persistence - > Entity from DB 38

Netbeans, JPA, Hibernate e JSF 5. Escolha uma conexão JDBC que você tenha configurado na janela Runtime, ou escolha a conexão pré-configurada para o Java DB do NetBeans. 6. Selecione a(s) tabela(s) que deseja reverter em classes Entity. 39

Netbeans, JPA, Hibernate e JSF 7. Coloque o nome do pacote das classes e em seguida clique em Create Persistence Unit 8. Para trabalhar com Hibernate clique em New Persistence Library. 40

Netbeans, JPA, Hibernate e JSF 9. Digite Hibernate no nome da biblioteca e adicione todos os seguintes Jars: -hibernate3.jar -jars do hibernate/lib -hibernate-entitymanager.jar -jars do hibernate-entitymanager/lib Clicando em OK e finish o NetBeans vai gerar as entidades / entity classes. Basta agora nos próximos passos, gerar as páginas JSF. 41

Netbeans, JPA, Hibernate e JSF 10. Clique em File -> New File e escolha JSF Pages from Entity 11. Escolha as entidades que deseja gerar as páginas de CRUD. 42

Netbeans, JPA, Hibernate e JSF 12. Agora clique em Finish para gerar automaticamente páginas JSF e controladores de páginas. Opcionalmente você poderá escolhar um sub-diretório Web para o NetBeans gravar as páginas e o package dos controladores / managed beans. 43

Netbeans, JPA, Hibernate e JSF 13. O penúltimo passo é adicionar a biblioteca Java DB Driver ou o driver JDBC do seu banco de dados. 44

Netbeans, JPA, Hibernate e JSF 14. Clique em Run e você verá o resultado, um menu com a entidades geradas que permitem o acesso a listagem de dados para edição, adição ou exclusão dos dados. 45

Conclusões O que já era bom (Hibernate 3), ficou ainda melhor! (3.x com Persistence API); O foco das especificações na facilidade de uso (ex. EJB, Faces, Java 5) começa a fazer diferença no mercado. Vocês ainda escrevem códigos SQL??? 46

Dúvidas? Apresentação e código fonte disponível em: http://code.google.com/p/vofficejava/ Contato: henrique@voffice.com.br 47