Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package model; import java.util.ArrayList; import org.hibernate.ObjectNotFoundException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import sun.security.util.Password; /** * * @author joao */ public class FuncionarioModel { private final SessionFactory objSessionFactory; //String para mensagem de erro String msg = ""; public FuncionarioModel() { //Recebe o Session Factory do HIbernate this.objSessionFactory = sigos.SigosHibernateUtil.getSessionFactory(); } public String insert(Funcionario obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ADICIONA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.save(obj); //Realiza um commit do INSERT objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem this.msg = e.getMessage(); //Realiza o Rollback, cancelando o INSERT no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return this.msg; } public String update(Funcionario obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ATUALIZA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.merge(obj); //Realiza um commit do UPDATE objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem msg = e.getMessage(); //Realiza o Rollback, cancelando o UPDATE no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return msg; } public String delete(Funcionario obj) { //Abre um sesso Session objSession = this.objSessionFactory.openSession(); //Inicia uma transao dentro da sesso aberta Transaction objTransaction = objSession.beginTransaction(); try { //ATUALIZA o objeto categoria, assim o hibernate persiste no bancoapagando o registro. objSession.delete(obj); //Realiza um commit do UPDATE objTransaction.commit(); } catch (Exception e) { //Caso ocorrer algum erro, mostra uma mensagem msg = e.getMessage(); //Realiza o Rollback, cancelando o UPDATE no banco de dados. objTransaction.rollback(); } //Fecha a sesso objSession.close(); //Retorna a mensagem return msg; } public ArrayList<Funcionario> findByAll() { //Cria lista de objetos ArrayList<Funcionario> lstFuncionario = null; //Abre um sesso Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Funcionario"); lstFuncionario = (ArrayList<Funcionario>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstFuncionario; } public ArrayList<Funcionario> findByLogin(String usuario) { ArrayList<Funcionario> lstFuncionarios = null; Session objSession = this.objSessionFactory.openSession(); try { Query objQuery = objSession.createQuery("from Funcionario where usuario = :usuario"); objQuery.setParameter("usuario", usuario); lstFuncionarios = (ArrayList<Funcionario>) objQuery.list(); } catch (ObjectNotFoundException e) { return null; } return lstFuncionarios; } public ArrayList<Funcionario> findByCpf(String cpf) { Session objSession = this.objSessionFactory.openSession(); ArrayList<Funcionario> lstFuncionario = null; try { Query objQuery = objSession.createQuery("from Funcionario where cpf = :cpf"); objQuery.setParameter("cpf", cpf); lstFuncionario = (ArrayList<Funcionario>) objQuery.list(); } catch (Exception e) { System.out.println(e.toString()); return null; } return lstFuncionario; } public ArrayList<Funcionario> findByEmpresa(Matriz m, Franquia f, int idFuncao) { Session objSession = this.objSessionFactory.openSession(); ArrayList<Funcionario> lstFuncionario = null; int idMatriz = m.getIdmatriz(); int idFranquia = f.getIdfranquia(); try { Query objQuery = objSession.createQuery( "from Funcionario where idmatriz = :matriz and idfranquia = :franquia and idfuncao = :funcao"); objQuery.setParameter("franquia", idFranquia); objQuery.setParameter("matriz", idMatriz); objQuery.setParameter("funcao", idFuncao); lstFuncionario = (ArrayList<Funcionario>) objQuery.list(); } catch (Exception e) { System.out.println(e.toString()); return null; } return lstFuncionario; } public Object validaCPFeCNPJ(String texto) { Session objSession = this.objSessionFactory.openSession(); try { Query q = objSession.createSQLQuery("select validaCPFeCNPJ(:texto)"); q.setParameter("texto", texto); System.out.println(q.getQueryString()); return q.uniqueResult(); } catch (Exception e) { } return null; } public boolean fazLogin(String usuario, String senha) { Session objSession = this.objSessionFactory.openSession(); try { Query q = objSession.createSQLQuery("select faz_login(:usuario, :senha)"); q.setParameter("usuario", usuario); q.setParameter("senha", senha); return (boolean) q.uniqueResult(); } catch (Exception e) { } return false; } public boolean validaLogin(String usuario, Integer idFuncionario) { Session objSession = this.objSessionFactory.openSession(); try { Query q = objSession.createSQLQuery("select valida_login(:usuario, :id)"); q.setParameter("usuario", usuario); q.setParameter("id", idFuncionario); return (boolean) q.uniqueResult(); } catch (Exception e) { } return false; } public int retornaFuncionarioCombo(int Index, ArrayList<Funcionario> lstFuncionario) { Funcionario f; for (int i = 0; i < lstFuncionario.size(); i++) { if (i == Index) { f = (Funcionario) lstFuncionario.get(Index); return f.getIdfuncionario(); } } return 0; } }