dao + bean + java desktop
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,
Discussão (1)
Carregando comentários...