br.com.hslife.clickafacil.dao.InternautaDao.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.clickafacil.dao.InternautaDao.java

Source

/*** 
    
Copyright (c) 2009, 2010 Hrcules S. S. Jos
    
    
Este arquivo  parte do programa ClickaFacil.
    
ClickaFacil  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
Este programa  distribudo na esperana que possa ser util, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
    
MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em 
    
portugus para maiores detalhes.
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site HSlife no 
    
endereco www.hslife.com.br ou escreva para a Fundao do Software Livre(FSF) Inc., 
    
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
    
    
Para mais informaes sobre o programa ClickaFacil e seus autores acesso o 
    
endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
    
 ***/

package br.com.hslife.clickafacil.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import br.com.hslife.clickafacil.hibernate.HibernateUtil;
import br.com.hslife.clickafacil.javabeans.InfoAdicionais;
import br.com.hslife.clickafacil.javabeans.Internauta;
import br.com.hslife.clickafacil.javabeans.Login;
import br.com.hslife.clickafacil.javabeans.Loja;

public class InternautaDao {

    Session sessao;
    Transaction transacao;
    Criteria criterio;

    public void salvar(Internauta i) throws Exception {
        sessao = HibernateUtil.getInstance();
        transacao = sessao.beginTransaction();
        sessao.save(i);
        transacao.commit();

    }

    public void salvar(Internauta l, Login g, InfoAdicionais i) throws Exception {
        try {
            sessao = HibernateUtil.getInstance();
            transacao = sessao.beginTransaction();
            sessao.saveOrUpdate(i);
            sessao.saveOrUpdate(g);
            l.setIdInfoAdic(i);
            l.setLogin(g);
            sessao.saveOrUpdate(l);
            transacao.commit();
        } catch (Exception e) {
            transacao.rollback();
            throw new Exception();
        }
    }

    public void alterar(Internauta i) throws Exception {
        sessao = HibernateUtil.getInstance();
        transacao = sessao.beginTransaction();
        sessao.update(i);
        transacao.commit();
    }

    public void excluir(Internauta i) throws Exception {
        sessao = HibernateUtil.getInstance();
        transacao = sessao.beginTransaction();
        sessao.delete(i);
        transacao.commit();
    }

    public Internauta buscarPorEmail(String id) throws Exception {
        String hql = "from Internauta where email = :email";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("email", id);
        return (Internauta) q.list().get(0);
    }

    public List listarTodos() throws Exception {
        sessao = HibernateUtil.getInstance();
        return sessao.createCriteria(Internauta.class).list();
    }

    public void alterar(Internauta l, InfoAdicionais i) throws Exception {
        try {
            sessao = HibernateUtil.getInstance();
            transacao = sessao.beginTransaction();
            //sessao.merge(i);
            l.setIdInfoAdic(i);
            sessao.merge(l);
            transacao.commit();
        } catch (Exception e) {
            transacao.rollback();
            throw new Exception(e.getMessage());
        }
    }

    public List listarPorNome(String nome) throws Exception {
        String hql = "from Internauta where nome like concat('%', :nome, '%') order by nome";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("nome", nome);
        return q.list();
    }

    // Verifica se o CNPJ informado existe
    public boolean cpfExiste(String numero) throws Exception {
        String hql = "from Internauta where cpf = :numero";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("numero", numero);
        if (q.list().size() == 0) {
            return false;
        } else {
            return true;
        }
    }

    public Internauta buscarIdInternauta(Integer id) throws Exception {
        String hql = "from Internauta where idLogin = :id";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setInteger("id", id);
        return (Internauta) q.list().get(0);
    }

    // Verifica se existe um e-mail igual previamente cadastrado.
    public boolean verificaEmail(String email) throws Exception {
        String hql = "from Internauta where email = :email";
        Query q = HibernateUtil.getInstance().createQuery(hql);
        q.setString("email", email);
        // Retorna true se nenhum outro e-mail foi localizado
        if (q.list().size() == 0) {
            return true;
        } else {
            return false;
        }
    }

}