Java tutorial
/*** 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; } } }