olá Pessoal,
Estarei dando inicio à uma série de posts sobre o Hibernate. O motivo é que sofri no inicio como todo iniciante. Principalmente nos princípios básicos.E ainda tenho meus sofrimentos quando preciso de algo mais avançado e bem especifico a um problema ou sistema legado onde o Hibernate está presente, dai vem o nosso amigo google, consultando os colegas mais vividos com a tecnologia etc. Mas, nos posts vou buscar dar uma luz para quem acha que está na escuridão, nesse inicio com o framework. Apesar que já temos alguns posts usando o Hibernate que podem ser visto aqui. Hoje veremos como usar Hibernate e para não ficar um post grande e cansativo, vou limitar a recursos simples do framework. Então veremos como configurar o Hibernate em um projeto java e depois ver o “brinquedo” funcionando.
Lets go…
Requisitos
- Instalação Mysql 5 ou superior
- Instalação Java 5 ou superior
- Eclipse (qualquer versão)
Note
Usarei o Hibernate 3.2.x, pois é que tenho aqui nos meus projetos. Como ainda não tive a necessidade baixar a versão mais recente, mas para o que vamos fazer aqui, não precisa ser a versão mais recente.
Não usarei annotations nest post, até pq temos um post já sobre o assunto, então vou usar mapeamento, o motivo é que na minha opinião todos que vão iniciar com Hibernate precisar conhecer os mapeamentos XML, antes de ir para os Annotations. Os mapeamentos ainda é uma realidade em sistema legado, e vale lembrar que sistema legado eles representam uma boa parcela de oportunidades no mercado Java que pedem o Hibernate como framework. Não esqueça disso. Pois, um dia você vai precisar entender o mapeamento que alguém fez há alguns anos atras.
Preparação do ambiente
- primeiro passo é baixar o hibernate core no site www.hibernate.org para esse exemplo estou usando a versao Hibernate 3.2.1.GA e o Hibernate tools 3.24.ga
- Descompacte os arquivos
- abra o eclipse
- vá em windows preferences e digite user no campo de filter do eclipse
- Clique em New e em nome coloque Hibernate 3.2
- Agora vamos adicionar os .jars a essa biblioteca clique em add external jars.
- Bem, eu poderia simplesmente dizer selecione todos os arquivos da pasta lib do hibernate, mas não é necessário pois muitos arquivos nem serão executados. Veja na imagem abaixo os arquivos que vc precisa adicionar
- Mas, como vc sabe que sao esses arquivos Camilo? Simples, tem um arquivo chamado _README.txt na pasta lib do hibernate e lá ele informa quais arquivos são required. Se tiver dúvida dar uma olhada.
- Detalhe importante o arquivo hibernate3.jar não fica em lib e tb não consta na lista de arquivo required no _README.txt, mas vc deve adiciona-lo ele é essencial. Esta informação você consegue na documentação do Hibernate.
- Uma vez pronto a library com o Hibernate, faça o mesmo para o Driver MySql. Crie uma nova library e adicione o .jar do Banco de Dados. Obtenha o Driver do site da MySQL: http://www.mysql.com/downloads/connector/j/5.1.html
- Crie um Java Project no Eclipse
- adicione as bibliotecas no seu projeto. Clique com o botão direito e vá em propriedades ==> Java Build, na aba escola libraries e clique em add library ==> user library e marque as library que acabamos de criar.
Desenvolvimento
- Chegamos na parte mais divertida – “desenvolvimento”. Crie um package em src chamado br.com.bean
- E crie uma classe chamada de Message (sem o metodo main). Agora deixe a classe conforme abaixo.
package br.com.bean; public class Message { private String message; public Message() { // TODO Auto-generated constructor stub } public Message(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
- Crie uma classe chamada TesteMessage (com o método main) e deixe conforme abaixo.
- por enquanto s isso, vamos agora criar os arquivos de configuração do hibernate com o BD + o mapeamento com classe.
package br.com.bean; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class PopulaMessage { /** * @param args */ public static void main(String[] args) { SessionFactory factory = new Configuration().configure().buildSessionFactory(); Session session = factory.openSession(); session.beginTransaction(); Message m1 = new Message("lopes"); session.save(m1);//salvando o objetos persistenced session.getTransaction().commit(); session.close(); System.out.println("Salvo com sucesso no banco de dados"); } }
Configuração Hibernate
- Abra a perspective Hibernate e depois vá em File ==> New ==> e escolha a opção conforme a imagem abaixo:
- clique em next.Escolha a classe que será mapeada, ou seja, Message. clique em add class
- clique em finish
- E agora adicione os codes abaixo(tive que colocar no formato de imagem, para evitar que o código fosse quebrado pelo plugin):
- Vamos criar o arquivo de configuracao Hibernate com o BD para isso faça o mesmo processo do passo 1, porem escolha a opcao conforme a imagem a seguir:
- Deixe o nome padrao sugerido e clique em next
- agora escolha o projeto e o package. No meu caso será MessageEx/src .
- Na próxima tela precisamos configurar o BD.Então deixe conforme a imagem a seguir:
- Apos ter configurado clique em finish
- Adicione o code a seguir no arquivo de configuração (hibernate.cfg.xml). É apenas o mapeamento da classe que representa nossa table no BD. Afinal de contas o hibernate precisa saber em que tabela ele deve obter/inserir informações, por isso usamos o mapeamento.
<mapping resource=”mapping.hbm.xml”/>
Ficando assim todo o codigo:
Testando
- para testar é bem simples. Vá na classe TesteMessage.java e clique em Run==> Java Application.
- Em seguida verifique se a informação foi inserida no BD. Não esqueça de dar um start no BD. Caso contrario receberá várias exceções.
Bom, vou ficando por aqui espero que o post tenha ajudado e motivado aqueles que estão iniciando com Hibernate. Abracos e até o proximo post. 🙂