1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Sistema com ou sem Hibernate (segue o código)

Pessoal, há pouco perguntei sobre a construção de um sistema com ou sem hibernate. Conforme eu disse anteriormente, abaixo segue o código da classe dao, que insere, altera, exclui e deleta. Entretanto, tais operações estão sendo feitas com JDBC. Poderiam me ajudar a entender como transformar ela em hibernate, por ggentileza?

muito obrigado.

package dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import model.Usuarios;
import org.hibernate.Session;
import util.Conexao;
import util.HibernateUtil;

/**
 *
 * @author Fred
 */
public class UsuarioDAOImpl implements UsuarioDAO{

private Conexao Con;    

    @Override
    public Usuarios findByUsuario(Usuarios usuario) {
        Usuarios model = null;
        Session sesion = HibernateUtil.getSessionFactory().getCurrentSession();
        String sql = "FROM Usuarios Where email = '"+usuario.getEmail()+"'";
        try {
             sesion.beginTransaction();
             model = (Usuarios) sesion.createQuery(sql).uniqueResult();
             sesion.beginTransaction().commit();
        } catch (Exception e) {
            sesion.beginTransaction().rollback();
        }
        return model;
    }

    @Override
    public Usuarios login(Usuarios usuario) {
        Usuarios model = this.findByUsuario(usuario);
        if(model != null){
            if(!usuario.getSenha().equals(model.getSenha())){
                model = null;
            }
        }
        return model;
    }

    //metodo para salvar um usuario no banco
    public boolean salvarUsuario(Usuarios usuario){  
        try {
            String sql = "INSERT INTO USUARIOS (NOME, EMAIL, SENHA, PERFIL) VALUES( ?, ?, ?, ?)";
            PreparedStatement stm = Con.getConnection().prepareStatement(sql);
            stm.setString(1, usuario.getNome());
            stm.setString(2, usuario.getEmail());
            stm.setString(3, usuario.getSenha());
            stm.setString(4, usuario.getPerfil());

            stm.execute();
            Con.getConnection().commit();
            return true;
            } catch (SQLException ex) {
                Logger.getLogger(UsuarioDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
            }
             return false;
        }

        public boolean editarUsuario(Usuarios usuario){  
        try {
            String sql = "UPDATE USUARIO SET NOME = ?, EMAIL = ?, SENHA = ?, PERFIL = ? WHERE ID = ?";
            PreparedStatement stm = Con.getConnection().prepareStatement(sql);
            stm.setString(1, usuario.getNome());
            stm.setString(2, usuario.getEmail());
            stm.setString(3, usuario.getSenha());
            stm.setString(4, usuario.getPerfil());
            stm.setInt(5, usuario.getId());

            stm.execute();
            Con.getConnection().commit();
            return true;
            } catch (SQLException ex) {
                Logger.getLogger(UsuarioDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
            }
             return false;
        }

         public boolean excluirUsuario(Usuarios usuario){  
         try {
            String sql = "DELETE FROM USUARIOS WHERE ID = ?";
            PreparedStatement stm = Con.getConnection().prepareStatement(sql);
            stm.setInt(1, usuario.getId());
            stm.execute();
            Con.getConnection().commit();
            return true;
            } catch (SQLException ex) {
                Logger.getLogger(UsuarioDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
            }
             return false;
        }

         public List<Usuarios> listarUsuario(){
         List<Usuarios> lista = new ArrayList<Usuarios>(); 
         try {
            String sql = "SELECT * FROM USUARIOS";
            PreparedStatement stm = Con.getConnection().prepareStatement(sql);
            ResultSet rs = stm.executeQuery();
            while(rs.next()){
                Usuarios u = new Usuarios();
                u.setId(rs.getInt("id"));
                u.setNome(rs.getString("nome"));
                u.setEmail(rs.getString("email"));
                u.setSenha(rs.getString("senha"));
                u.setPerfil(rs.getString("perfil"));
                lista.add(u);
            }
            } catch (SQLException ex) {
                Logger.getLogger(UsuarioDAOImpl.class.getName()).log(Level.SEVERE, null, ex);
            }
         return lista;
}

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags hibernate ou faça a sua própria pergunta.