Java Hibernate DAO for Student Management (AlunoDAO)

Computer science5.2 KB

AlunoDAO.java

import java.util.List;

import model.Aluno;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import util.HibernateUtil;

public class AlunoDAO {

Validating a User

public boolean validaUsuario(String login, String senha) {
HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

String query = "from Aluno where login = ? and senha = ?";

List<Aluno> lista = session.createQuery(query)
.setString(0, login)
.setString(1, senha)
.list();

tx.commit();

Aluno aluno = new Aluno();
if (lista.size() >= 1) {
return true;
} else {
return false;
}
}

Listing All Students

/**
* @return
*/
public List<Aluno> list() {
HibernateUtil.getSession();
Session session = ...;

return session.createCriteria(Aluno.class).list();
}

Updating a Student

/**
* @param aluno
*/
public void update(Aluno aluno) {

Any necessary operation performed on the database will use the session. A session may be one or more units of work composed, where each commit or rollback cleans up the session or it becomes useless until a new beginTransaction is called again.

HibernateUtil.getSession();
Session session = ...;

Transaction tx = session.beginTransaction();

session.update(aluno);

tx.commit();
}

Listing Students (No Filter)

/**
* @return
*/
public List<Aluno> listarFiltro() {
HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

List<Aluno> list = session.createQuery("from Aluno").list();

tx.commit();

return list;
}

Searching Students by Name and Login

/**
* @param nome
* @param login
* @return
*/
public List<Aluno> listarPesquisa(String nome, String login) {
HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

Criteria crit = session.createCriteria(Aluno.class);

// adds the name to the filter, or not
if (nome != null && !nome.equals("")) {
crit.add(Restrictions.like("nome", "%" + nome + "%"));
}

// adds the login to the filter, or not
if (login != null && !login.equals("")) {
crit.add(Restrictions.like("login", "%" + login + "%"));
}

List<Aluno> list = (List<Aluno>) crit.list();

tx.commit();

return list;
}

Getting a Student by ID

/**
* @param id
* @return
*/
public Aluno getAluno(String id) {
HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

String query = "from Aluno where id = ?";

List<Aluno> lista = session.createQuery(query)
.setLong(0, Long.parseLong(id))
.list();

tx.commit();

Aluno aluno = new Aluno();
if (lista.size() >= 1) {
aluno = (Aluno) lista.get(0);
}

return aluno;
}

Deleting a Student

/**
* @param aluno
*/
public void delete(Aluno aluno) {
HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

session.delete(aluno);

tx.commit();
}

Saving a Student

/**
* @param aluno
*/
public void save(Aluno aluno) {

HibernateUtil.getSession();
Session session = ...;
Transaction tx = session.beginTransaction();

session.save(aluno);

tx.commit();
}

Download

PDF Word HTML