Buscar

Hibernate - Tutorial basico

Prévia do material em texto

Hibernate JPA – Apresentação + criação básica
Neste post irei apresentar um pouco do que se trata o framework Hibernate e logo após iremos criar algo básico utilizando o mesmo.
O que é Hibernate?
É um framework para realizar o mapeamento objeto relacional(ORM) escrito na linguagem JAVA, onde seu principal objetivo é diminuir a complexidade envolvido no desenvolvimento de aplicações que necessitam trabalhar com banco de dados relacional, onde ele realiza a intermediação entre o banco de dados e sua aplicação, poupando o desenvolvedor de ter que se preocupar com instruções SQL para recuperar ou persistir os dados do seu software. (Fonte: http://blog.naison.com.br/java/o-que-e-hibernate)
Mas, o que ele faz?
Utilizando hibernate o programador não precisa se preocupar com instruções SQL como selects, join e etc. O hibernate realiza o mapeamento do objeto relacional, sendo assim as tabelas do seu banco de dados são representadas através de classes na sua aplicação e as operações de recuperação e persistência dos dados são realizadas através de métodos do hibernate.
VAMOS COMEÇAR! 
	Atenção: Neste post não irei entrar em muitos detalhes sobre como estabelecer conexão e criação de tabela no MySQL no Netbeans. Caso não saiba como realizar o procedimento, sigam as instruções contidas neste link: http://partilho.com.br/aprender/java-netbeans/netbeans-e-mysql-criar-conexao/ 
Preparando o projeto
Crie um Projeto com o nome que quiser (o meu será HibernateTuto). 
Criando conexão com o servidor MySQL.
Agora vamos configurar o Hibernate
Assistente de Engenharia reversa
Vamos configurar Arquivos de Mapeamento do Hibernate e POJOs.
Crie agora o arquivo de tipo HibernateUtil.java, nome da Classe sera DAOHibernateUtil. Pacote: DAO.
Teste a aplicação! 
Após a execução. Consulte seu BD para saber se os dados foram incluídos na tabela.
Dentro do pacote DAO crie a classe java DAOLivro e insira o código a seguir:
 // Métodos definidos para classe DAOLivro
 public void incluir(Livro livro) {
 Session session = DAOHibernateUtil.getSessionFactory().getCurrentSession();
 try {
 session.beginTransaction();
 session.save(livro); 
 session.getTransaction().commit(); 
 JOptionPane.showMessageDialog(null, "Livro incluido com sucesso");
 } catch (Exception ex) {
 JOptionPane.showMessageDialog(null, ex);
 }
 }
 public void alterar(Livro livro) {
 Session session = DAOHibernateUtil.getSessionFactory().getCurrentSession();
 try {
 session.beginTransaction();
 session.merge(livro); 
 session.getTransaction().commit();
 JOptionPane.showMessageDialog(null, "Livro alterado com sucesso");
 } catch (Exception ex) {
 JOptionPane.showMessageDialog(null, ex);
 }
 }
 public void excluir(Livro livro) {
 Session session = DAOHibernateUtil.getSessionFactory().getCurrentSession();
 try {
 session.beginTransaction();
 session.delete(livro);
 session.getTransaction().commit();
 JOptionPane.showMessageDialog(null, "Livro excluído com sucesso");
 } catch (Exception ex) {
 JOptionPane.showMessageDialog(null, ex);
 }
 }
 public void listar() {
 Session session = DAOHibernateUtil.getSessionFactory().getCurrentSession();
 try {
 session.beginTransaction();
 // Criar uma lista de livros
 List listaLivros = session.createQuery("From Livro").list();
 
 for (Iterator it = listaLivros.iterator(); it.hasNext();) {
 Livro livro = (Livro) it.next();
 System.out.println("ID do livro: " + livro.getId());
 System.out.println("Titulo: " + livro.getTitulo());
 System.out.println("Autor: " + livro.getAutor());
 }
 JOptionPane.showMessageDialog(null, "Livros listados com sucesso");
 } catch (Exception ex) {
 JOptionPane.showMessageDialog(null, ex);
 }
 }
 No pacote Controle inclua código na classe Livro.java o seguinte código:
public void incluir() {
 
 DAOLivro daoLivro = new DAOLivro();
 daoLivro.incluir(this);
 
 }
 
 public void alterar() {
 
 DAOLivro daoLivro = new DAOLivro();
 daoLivro.alterar(this);
 }
 
 public void excluir() {
 
 DAOLivro daoLivro = new DAOLivro();
 daoLivro.excluir(this); }
Códigos de testes!
// TESTE DE INCLUSÃO 
 Livro livro1 = new Livro();
 //PREENCHENDO AS PROPRIEDADES
 livro1.setAutor("Marcio");
 livro1.setTitulo("Tutorial Hibernate - parte 1");
 livro1.incluir();
 
 Livro livro2 = new Livro();
 //PREENCHENDO AS PROPRIEDADES
 livro2.setAutor("Marcio");
 livro2.setTitulo("Tutorial Hibernate - parte 2");
 livro2.incluir();
 
 Livro livro3 = new Livro();
 //PREENCHENDO AS PROPRIEDADES
 livro3.setAutor("Marcio");
 livro3.setTitulo("Tutorial Hibernate - parte 3");
 livro3.incluir();
Códigos de EXCLUSÃO
// TESTE DE EXCLUSÃO
 // PREPARA O OBJETO LIVRO
 Livro livroDel = new Livro();
 livroDel.setId(1); // Seleciona o livro que será excluído
 livroDel.excluir();
 
 // TESTE DE ALTERAÇÃO
 // PREPARA O OBJETO LIVRO
 Livro livroAlt = new Livro();
 livroAlt.setId(2); // Este é o Livro que será alterado
 livroAlt.setTitulo("Tutorial Hibernate - parte 2 alterado");
 livroAlt.setAutor("Maria da Alteração");
 livroAlt.alterar();
Fim!

Outros materiais