Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package ejb.bean; import ejb.dao.usuario.UsuarioDAO; import ejb.dao.usuario.UsuarioNaoEncontradoException; import ejb.entities.Usuario; import ejb.entities.UsuarioImpl; import java.util.Collection; import javax.ejb.Stateless; import javax.ejb.LocalBean; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * * @author Richel */ @Stateless @LocalBean public class UsuarioDAOJPAImplBean implements UsuarioDAO { static final private Log log = LogFactory.getLog(UsuarioDAOJPAImplBean.class); private boolean bIsClosed = false; /**Mtodo construtor da classe. * @author Richel Sensineli */ public UsuarioDAOJPAImplBean() { } /**Mtodo para realizar a busca de usurio pelo ID. * @author Richel Sensineli * @param id int - ID do usurio * @return Usuario usuario - Objeto Usuario */ @Override public Usuario buscaUsuarioPorId(final int id) throws UsuarioNaoEncontradoException { EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU"); EntityManager em = emf.createEntityManager(); Usuario u = em.find(UsuarioImpl.class, id); if (u == null) { throw new UsuarioNaoEncontradoException("usuario no encontrado"); } em.clear(); em.close(); emf.close(); return u; } /**Mtodo para a busca de usurios pelo nome. * @author Richel Sensineli * @param nome String - Nome do usurio * @return Collection list */ @Override public Collection buscaUsuarioPorNome(final String nome) { Collection result = null; return result; } /**Mtodo para a remoo de usurio. * @author Richel Sensineli * @param id int - ID do usurio * @throws UsuarioNaoEncontradoException - usurio no encontrado */ @Override public void removeUsuario(final int id) throws UsuarioNaoEncontradoException { EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU"); EntityManager em = emf.createEntityManager(); Usuario u = em.find(UsuarioImpl.class, id); em.getTransaction().begin(); if (u == null) { throw new UsuarioNaoEncontradoException("usuario no encontrado"); } else { em.remove(u); em.getTransaction().commit(); } em.clear(); em.close(); emf.close(); } /**Mtodo para a criao de usurio * @author Richel Sensineli\ * @param nome String - Nome do usurio * @param sobrenome String - Nome do usurio * @return Usuario usuario - Objeto Usurio */ @Override public Usuario criaUsuario(final String nome, final String sobrenome) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU"); EntityManager em = emf.createEntityManager(); UsuarioImpl user = new UsuarioImpl(); user.setNome(nome); user.setSobrenome(sobrenome); em.getTransaction().begin(); try { em.persist(user); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } em.clear(); em.close(); emf.close(); return user; } /**Mtodo para a atualizao do usurio * @author Richel Sensineli * @param id int - ID do usurio * @param nome String - Nome do usurio * @param sobrenome String - Nome do usurio */ @Override public void updateUsuario(final int id, final String nome, final String sobrenome) throws UsuarioNaoEncontradoException { EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU"); EntityManager em = emf.createEntityManager(); UsuarioImpl user = em.find(UsuarioImpl.class, id); user.setNome(nome); user.setSobrenome(sobrenome); em.getTransaction().begin(); try { em.merge(user); em.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); em.getTransaction().rollback(); } em.clear(); em.close(); emf.close(); } /**Mtodo para fechar a conexo * @author Richel Sensineli */ @Override public void close() { log.info("close() called"); bIsClosed = true; } /**Mtodo para verificar se a conexo est ou no fechada. * @author Richel Sensineli * @param isClosed boolean - confirmao do fechamento de conexo */ @Override public boolean isClosed() { return bIsClosed; } /**Mtodo para a busca de todos os usurios existentes no banco de dados. * @author Richel Sensineli * @param nome String - Nome do usurio * @return Collection list */ @Override public Collection buscaTodosUsuarios() { EntityManagerFactory emf = Persistence.createEntityManagerFactory("UsuarioPU"); EntityManager em = emf.createEntityManager(); Query q = em.createQuery("select u from UsuarioImpl u"); Collection result = null; result = q.getResultList(); em.clear(); em.close(); emf.close(); return result; } }