Você está na página 1de 4

08/03/13

Abril.com
PORTAL

Desenvolvendo Java puro com Hibernate e Mysql | iMasters


Revistas e sites
IMASTERS BOX CURSOS ONLINE

Grupo Abril
7MASTERS AGENDA

Abril Mdia
COLETIVOS

Distribuio
INTERCON

Grfica
REPOS

Abril Educao

Assine

Loja

SAC

FRUM

Faa Login / Cadastre-se

+ de 10.500 artigos publicados em 11 anos

Faa sua busca

DESIGN & UX

FRONT-END

DEV

BD

MOBILE

MKT DIGITAL

APIS

SEARCH

INFRA

TECH

E-COMMERCE

ANALYTICS

Tw eetar

50

Like

21

JAVA + MYSQL

Desenvolvendo Java puro com Hibernate e Mysql


29 de novembro de 2012 por Camilo Lopes

Ol, pessoal! Atendendo a pedidos de alguns leitores, hoje veremos o uso mais puro com Hibernate com JPA, ou seja, sem o uso de JSF ou qualquer outro front-end. Vamos criar a nossa velha classe Java com o mtodo main e armazenar as informaes em um BD (MySql). Lets go Ateno: no apresentarei como criar um BD ou como configurar o Hibernate no Eclipse, estou considerando que voc j tem um ambiente de desenvolvimento pronto para entrar em ao.

LTIMAS NOTCIAS
08/03 S 04H03

Dados do DataBase:
Crie um DataBase (usarei uma chamada livraria) Crie uma tabela (usarei uma tabela com o nome camilo) Dados da tabela: id(auto_increment), nome(varchar), cidade(varchar)

Nova verso do DirectX vai ganhar o nome Blue


08/03 S 03H03

MercadoLivre realiza Hackathon no dia 23 de maro


08/03 S 02H03

Preparao do projeto
1. Crie um o Java Project no Eclipse com o nome que achar conveniente. 2. Agora crie uma estrutura de packages conforme a imagem a seguir:

e-bit aponta que mulheres representam 53% dos internautas brasileiros


08/03 S 01H03

Pesquisadores ganham US$ 100 mil por falha encontrada em Chrome e Windows 7
08/03 S 11H03

3. Adicione os arquivos .jars do mysql, hibernate + JPA ao projeto. Clique com o boto direito no projeto escolha Properties e depois clique em JavaBuild. Na tela que aparece, clique em Add external jars (caso nao tenha uma Library para os .jars).

Agenda iMasters traz vrias opes para o profissional de TI em maro


TODAS AS NOTCIAS

imasters.com.br/artigo/20090/java/desenvolvendo-java-puro-com-hibernate-e-mysql/

1/6

08/03/13

Desenvolvendo Java puro com Hibernate e Mysql | iMasters

DESTAQUES

Desenvolvimento/Teste
Agora, crie uma classe Java com nome de Pessoa no package br.com.bean. p a c k a g eb r . c o m . b e a n ; / * s eo sa r q u i v o s. j a r sn a oe s t i v e rn op r o j e t o *n a os e r p o s s i v e le n c o n t r a ro si m p o r t s * / i m p o r tj a v a x . p e r s i s t e n c e . E n t i t y ; i m p o r tj a v a x . p e r s i s t e n c e . I d ; i m p o r tj a v a x . p e r s i s t e n c e . T a b l e ; @ E n t i t y @ T a b l e ( n a m e = " c a m i l o " ) p u b l i cc l a s sP e s s o a{ p r i v a t eS t r i n gn o m e ; p r i v a t eS t r i n gc i d a d e ; @ I d i n ti d ; p u b l i cS t r i n gg e t N o m e ( ){ r e t u r nn o m e ; } p u b l i cv o i ds e t N o m e ( S t r i n gn o m e ){ t h i s . n o m e=n o m e ; } p u b l i cS t r i n gg e t C i d a d e ( ){ r e t u r nc i d a d e ; } p u b l i cv o i ds e t C i d a d e ( S t r i n gc i d a d e ){ t h i s . c i d a d e=c i d a d e ; } p u b l i ci n tg e t I d ( ){ r e t u r ni d ; } p u b l i cv o i ds e t I d ( i n ti d ){ t h i s . i d=i d ; } } Crie uma classe ConexaoHibert.java no package br.com.conexao p r i v a t es t a t i cf i n a lS e s s i o n F a c t o r ys e s s i o n F a c t o r y ; p r i v a t es t a t i cf i n a lT h r e a d L o c a l < S e s s i o n >t h r e a d L o c a l= n e wT h r e a d L o c a l < S e s s i o n > ( ) ; / *o b s e r v eoq u et e m o sd ei m p o r t a n t e *n e s s eb l o c os t a t i c ,oa r q u i v o *q u ep o s s u io sd a d o sd ec o n e x a oc o m *ob a n c od ed a d o sh i b e r n a t e c o n f i g . x m l * / s t a t i c { t r y { s e s s i o n F a c t o r y=n e w A n n o t a t i o n C o n f i g u r a t i o n ( ) . c o n f i g u r e ( " h i b e r n a t e c o n f i g . x m l " ) . b u i l d S e s s i o n F a c t o r y ( ) ;

IMASTERS BOX Catlogo completa de ferramentas online para auxlio de desenvolvedores.

LABORATRIO DE SCRIPTS PHP Participe do laboratrio pblico e colaborativo de scripts PHP criado pelos moderadores e participantes do Frum PHP iMasters

Find us on Facebook iMasters


Like 32,934 people like iMasters.

F acebook social plugin

imasters.com.br/artigo/20090/java/desenvolvendo-java-puro-com-hibernate-e-mysql/

2/6

08/03/13

Desenvolvendo Java puro com Hibernate e Mysql | iMasters

} c a t c h( T h r o w a b l ee ){ t h r o wn e wE x c e p t i o n I n I n i t i a l i z e r E r r o r ( e ) ; } } / / r e t o r n au m as e s s a od ec o m u n i c a c a oc o moB D p u b l i cs t a t i cS e s s i o ng e t I n s t a n c e ( ) { S e s s i o ns e s s i o n=( S e s s i o n )t h r e a d L o c a l . g e t ( ) ; s e s s i o n=s e s s i o n F a c t o r y . o p e n S e s s i o n ( ) ; t h r e a d L o c a l . s e t ( s e s s i o n ) ; r e t u r ns e s s i o n ; } Crie uma classe PessoaDAO no package br.com.hibernatedao p a c k a g eb r . c o m . h i b e r n a t e d a o ; i m p o r to r g . h i b e r n a t e . S e s s i o n ; i m p o r to r g . h i b e r n a t e . T r a n s a c t i o n ; i m p o r tb r . c o m . b e a n . P e s s o a ; i m p o r tb r . c o m . c o n e x a o . C o n e x a o H i b e r t ; p u b l i cc l a s sP e s s o a D A O{ p r i v a t eS e s s i o ns e s s i o n ; p u b l i cv o i dS a l v a r ( P e s s o ap ) { / / o b t e mu m as e s s a o s e s s i o n=C o n e x a o H i b e r t . g e t I n s t a n c e ( ) ; T r a n s a c t i o nt x=n u l l ;/ / p e r m i t et r a n s a c a oc o moB D t r y { t x=s e s s i o n . b e g i n T r a n s a c t i o n ( ) ; s e s s i o n . s a v e ( p ) ; t x . c o m m i t ( ) ; / / f a zat r a n s a c a o } c a t c h( E x c e p t i o ne ){ e . p r i n t S t a c k T r a c e ( ) ; / / c a n c e l aat r a n s c a oe mc a s od ef a l h a t x . r o l l b a c k ( ) ; } f i n a l l y { s e s s i o n . c l o s e ( ) ; } } } Agora crie uma arquivo .xml conforme o cdigo abaixo: < ? x m lv e r s i o n = " 1 . 0 "e n c o d i n g = " U T F 8 " ? > < ! D O C T Y P Eh i b e r n a t e c o n f i g u r a t i o nP U B L I C" / / H i b e r n a t e / H i b e r n a t eC o n f i g u r a t i o nD T D3 . 0 / / E N " " h t t p : / / h i b e r n a t e . s o u r c e f o r g e . n e t / h i b e r n a t e c o n f i g u r a t i o n 3 . 0 . d t d " > < h i b e r n a t e c o n f i g u r a t i o n > < s e s s i o n f a c t o r yn a m e = " " > < p r o p e r t yn a m e = " h i b e r n a t e . c o n n e c t i o n . d r i v e r _ c l a s s " > o r g . g j t . m m . m y s q l . D r i v e r < / p r o p e r t y > < p r o p e r t yn a m e = " h i b e r n a t e . c o n n e c t i o n . u r l " > j d b c : m y s q l : / / l o c a l h o s t / l i v r a r i a < / p r o p e r t y > < p r o p e r t yn a m e = " h i b e r n a t e . c o n n e c t i o n . u s e r n a m e " > c a m i l o < / p r o p e r t y > < p r o p e r t yn a m e = " h i b e r n a t e . c o n n e c t i o n . p a s s w o r d " > 1 2 3 < / p r o p e r t y > < m a p p i n gc l a s s = " b r . c o m . b e a n . P e s s o a " / > < / s e s s i o n f a c t o r y > < / h i b e r n a t e c o n f i g u r a t i o n > Fique atento aos nomes usado na classe Pessoa.java para fazer anotao. Veja que eu tenho o nome da tabela no BD diferente do nome da minha classe Java (fiz de propsito). Ento, somos obrigados a definir o nome da tabela, caso contrrio a JPA vai considerar o nome da classe. Crie uma classe no package br.com.teste com o nome de PessoaTest.java. p a c k a g eb r . c o m . t e s t e ; i m p o r tb r . c o m . b e a n . P e s s o a ; i m p o r tb r . c o m . h i b e r n a t e d a o . P e s s o a D A O ; p u b l i cc l a s sP e s s o a T e s t{ / * * *@ p a r a ma r g s * / p u b l i cs t a t i cv o i dm a i n ( S t r i n g [ ]a r g s ){ P e s s o ap=n e wP e s s o a ( ) ;

imasters.com.br/artigo/20090/java/desenvolvendo-java-puro-com-hibernate-e-mysql/

3/6

08/03/13

Desenvolvendo Java puro com Hibernate e Mysql | iMasters

p . s e t N o m e ( " m e l " ) ; p . s e t C i d a d e ( " S a l v a d o r " ) ; P e s s o a D A Op d a o=n e wP e s s o a D A O ( ) ; p d a o . S a l v a r ( p ) ;} } Salve e execute a classe PessoaTest.java e verifique se os dados foram inseridos no BD.

Pronto! Bem simples, no? E menos cansativo que usar o velho padro DAO com JDBC. Espero que tenham gostado! Abraos e at o prximo artigo!

Camilo Lopes bacharel em Sistemas de Informao e especialista em Gesto e Estratgia de Negcios. Programador Java - SCJP 5, trabalhou na IBM Brasil (2008-2010) em projetos na plataforma JEE como Analista Programador Java Jr. Passou pelo laboratrio da Enterprise Computing Lab HP como Software Engineer. Atualmente Engenheiro de Software na Ci&T. Autor dos livros "Guia do Exame SCJP","Guia Prtico JEE com Frameworks" e "TDD na Prtica", publicados pela editora Cincia Moderna. Pgina do autor Email Leia os ltimos artigos publicados por Camilo Lopes O que o tester faz enquanto o team desenvolve? Como escrever boas user stories? Diferena entre User Stories e documentos de especificaes Como calcular pontos em uma Sprint? Qualidade externa e interna no desenvolvimento de produtos estimativas Agile

13 COMENTRIOS

COMENTE TAMBM

Joo Luis Mendes timo artigo. Gostaria, se vc puder e claro, que desse dica sobre desenvolvimento de sistemas Desktop em JAVA ou at mesmo dando sua opinio e sobre as tendncias para tecnologia JAVA. Desktop ou Web, bom framework para ambos. Ats, Joo Luis. H 727 dias Responder leandro Otimo post Oque voce acha a comparao do arquivo xml ao properties? Vlw H 705 dias Responder DeKo timo artigo, Parabns =) H 693 dias Responder

imasters.com.br/artigo/20090/java/desenvolvendo-java-puro-com-hibernate-e-mysql/

4/6

Você também pode gostar