preda 0 Denunciar post Postado Junho 17, 2009 Galera, Segue os arquivos que me foram passados: UsuarioDao.java package br.univap.fcsac.pi2.dao; import br.univap.fcsac.pi2.bean.Usuario; import br.univap.fcsac.pi2.hibernate.HibernateUtil; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Order; public class UsuarioDao { private DaoGenerico<Usuario> daoEspecifico; private Session session; public UsuarioDao() { this.daoEspecifico = new DaoGenerico<Usuario>(Usuario.class, session); this.session = HibernateUtil.openSession(); } public UsuarioDao(Session session) { this.daoEspecifico = new DaoGenerico<Usuario>(Usuario.class, session); this.session = session; } public void saveOrUpdate(Usuario c) { Transaction t = session.beginTransaction(); session.saveOrUpdate(c); t.commit(); } public Usuario load(Long id) { return (Usuario) session.load(Usuario.class, id); } public Usuario get(Integer id) { return (Usuario) session.get(Usuario.class, id); } public void delete(Usuario c) { Transaction t = session.beginTransaction(); session.delete(c); t.commit(); } public List<Usuario> listAll() { Criteria c = session.createCriteria(Usuario.class); c.addOrder(Order.asc("id")); return c.list(); } public void close() { this.session.close(); } } Usuario.java package br.univap.fcsac.pi2.bean; import java.io.Serializable; import java.util.Collection; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; @Entity @Table(name = "usuario", catalog = "aulaMySQL", schema = "") @NamedQueries({@NamedQuery(name = "Usuario.findAll", query = "SELECT u FROM Usuario u"), @NamedQuery(name = "Usuario.findById", query = "SELECT u FROM Usuario u WHERE u.id = :id"), @NamedQuery(name = "Usuario.findByNome", query = "SELECT u FROM Usuario u WHERE u.nome = :nome")}) public class Usuario implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id", nullable = false) private Integer id; @Column(name = "nome", length = 50) private String nome; @OneToMany(mappedBy = "usuario") private Collection<Materia> materiaCollection; public Usuario() { } public Usuario(Integer id) { this.id = id; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Collection<Materia> getMateriaCollection() { return materiaCollection; } public void setMateriaCollection(Collection<Materia> materiaCollection) { this.materiaCollection = materiaCollection; } @Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Usuario)) { return false; } Usuario other = (Usuario) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; } @Override public String toString() { return "br.univap.fcsac.pi2.bean.Usuario[id=" + id + "]"; } } DaoGenerico.java package br.univap.fcsac.pi2.dao; import java.io.Serializable; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.Order; public class DaoGenerico<Clazz> { private Class<Clazz> persistentClass; private Session session; /** * Construtor * * @param Class<Clazz> persistentClass * @param Session session */ public DaoGenerico(Class<Clazz> persistentClass, Session session) { this.persistentClass = persistentClass; this.session = session; } /** * Consulta uma Linha da Tabela Genérica usando get * * @param Serializable id * @return Clazz */ @SuppressWarnings("unchecked") public Clazz get(Serializable id) { return (Clazz) session.get(persistentClass, id); } /** * Consulta uma Linha da Tabela Genérica usando load * * @param Serializable id * @return Clazz */ @SuppressWarnings("unchecked") public Clazz load(Serializable id) { return (Clazz) session.load(persistentClass, id); } /** * Salva ou Atualiza Dados na Tabela Genérica * * @param Clazz */ public void saveOrUpdate(Clazz c) { session.saveOrUpdate(c); } /** * Deleta Dados na Tabela Genérica * * @param Clazz */ public void delete(Clazz c) { session.delete(c); } /** * Consulta Todas Linhas de uma Tabela Genérica em ordem crescente * * @return List<Clazz> */ public List<Clazz> listaAllIdCrescente() { Criteria c = session.createCriteria(persistentClass); c.addOrder(Order.asc("id")); return c.list(); } /** * Consulta Todas Linhas de uma Tabela Genérica em ordem decrescente * * @return List<Clazz> */ public List<Clazz> listaAllIdDecrescente() { Criteria c = session.createCriteria(persistentClass); c.addOrder(Order.desc("id")); return c.list(); } /** * Encerra a conexão da session * */ public void close(){ this.session.close(); } } package br.univap.fcsac.pi2.teste; import br.univap.fcsac.pi2.bean.Usuario; import br.univap.fcsac.pi2.dao.UsuarioDao; import java.util.List; public class UsuarioTeste { public static void main(String[] args){ System.out.println("teste"); System.out.println("-----------------------------"); //criando o objeto Usuario t = new Usuario(); t.setNome("Aluno 1"); UsuarioDao dao = new UsuarioDao(); //incluir dao.saveOrUpdate(t); //listar List<Usuario> lista = dao.listAll(); for (Usuario i : lista ){ System.out.println(" Id : "+i.getId()); System.out.println(" Nome : "+i.getNome()); } } } Como faço para alterar e excluir um usuário ? Grato, Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Julho 8, 2009 Tenha DO... poste apenas o necessário por favor... Repare na classe DAOGenerico tem um metodo delete, é soh usar ele. Compartilhar este post Link para o post Compartilhar em outros sites