package br.com.arena.dao; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.Query; import javax.persistence.TypedQuery; import br.com.arena.model.Pessoa; import br.com.arena.util.JPAUtil; public class PessoaDAO { private EntityManager em; public PessoaDAO() { setEm(JPAUtil.getEntityManager()); } public void cadastrar(Pessoa pessoa){ getEm().getTransaction().begin(); getEm().persist(pessoa); getEm().getTransaction().commit(); } public void atualizar(Pessoa pessoa){ getEm().getTransaction().begin(); getEm().merge(pessoa); getEm().getTransaction().commit(); } public List listaTodasPessoas(){ Query q = em.createQuery("select p from Pessoa p"); List pessoas = q.getResultList(); return pessoas; } /* public Pessoa validaLogin(String usuario){ try { String consulta = "select p from Pessoa p where p.nomeUsuario = '"+usuario+"'"; TypedQuery query=getEm().createQuery(consulta,Pessoa.class); Pessoa pessoa = (Pessoa)query.getResultList(); return pessoa; } catch (Exception e) { e.printStackTrace(); return null; } }*/ /* public boolean verificaUsuarioSenha(String nome, String senha){ Query q = em.createQuery("select p from Pessoa p where p.nomeUsuario='"+nome+"' and p.senhaUsuario='"+senha+"'"); Pessoa pessoa = (Pessoa) q.getSingleResult(); System.out.println("-------------------------------"+pessoa.toString()); if(!pessoa.equals(null)){ return true; } return false; }*/ /* public Pessoa getPessoa(String nomeUsuario, String senhaUsuario) { try { Pessoa pessoa = (Pessoa) em .createQuery( "SELECT u from Pessoa u where u.nomeUsuario = :name and u.senhaUsuario = :senha") .setParameter("name", nomeUsuario) .setParameter("senha", senhaUsuario).getSingleResult(); return pessoa; } catch (NoResultException e) { return null; } }*/ public boolean existe(Pessoa pessoa) { String consulta = "select u from Usuario u where u.email = :pEmail and u.senha = :pSenha"; TypedQuery query=getEm().createQuery(consulta,Pessoa.class); // TypedQuery query = em.createQuery("select u from Usuario u where u.email = :pEmail and u.senha = :pSenha",Pessoa.class); query.setParameter("pEmail", pessoa.getNomeUsuario()); query.setParameter("pSenha", pessoa.getSenhaUsuario()); Pessoa resultado = query.getSingleResult(); return resultado != null; } public void removerPessoa(Pessoa pessoa){ getEm().getTransaction().begin(); getEm().find(Pessoa.class, pessoa.getId()); getEm().remove(pessoa); getEm().getTransaction().commit(); } public EntityManager getEm() { return em; } public void setEm(EntityManager em) { this.em = em; } }