Pegar Resultado do banco java

8 respostas
jsfjavajavawebbanco-de-dados
Mateus_Silva2

Boa noite!

Pessoa, meu metodo para pegar o nome e senha informados no campo de login não esta funcionando, poderiam olhar o meu código? :confused:
Des de já agradeço.

Classe DAO

public  Usuario  validaLoginSeguro(Usuario usuario){
            new Usuario();
    try {
        Connection conexao = Conexoes.getConexao(); 
        try {
                PreparedStatement ps = conexao.prepareStatement("select * from usuarios where nome=? and senha=?");
                ps.setString(1, usuario.getNome());
               ps.setString(2, usuario.getSenha());
                ResultSet resultSet = ps.executeQuery();
                 resultSet.next();
        
          usuario.setNome(resultSet.getString("nome"));
         usuario.setSenha(resultSet.getString("senha"));
        } catch (Exception e) {
            
        }
    }catch(Exception e){
        
    }
    
    return  usuario;
}

Classe BEAN

public String logar(Usuario usuario) {
     
     usuarioDAO.validaLoginSeguro(usuario);

    if (usuario.getNome() != null && usuario.getSenha() != null) {
        
        return "/paginas/gerenciamento.xhtml?faces-redirect=true";
    }
    FacesContext context = FacesContext.getCurrentInstance();
    context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Usuario nao cadastrado", ""));
    return null;

8 Respostas

lvbarbosa

Qual o erro que está aparecendo? Você envolveu o código em try ... catch e ignorou as exceptions. Elas vão te falar o problema que está acontecendo, provavelmente.

Mateus_Silva2

Mano, usei o Debug e quando chega nessa linha:
ps.setString(1, usuario.getNome());

pula pra exeption :confused:

lvbarbosa

E qual é o erro? Coloca isso aqui dentro do catch: e.printStackTrace();

Mateus_Silva2

Aparece esse cara: java.lang.NullPointerException

lvbarbosa

Provavelmente o parâmetro usuario que você está passando pra função é null

J

Também acho bem provavelmente vc esteja passando o usuario como null, mas talvez vc tenha instanciado o objeto, como Usuario user = new Usuario(), porém não tenha setado algum valor no atributo "nome" fazendo com que esse guarde uma referencia null. Por exemplo, olhe esse código ele também retorna java.lang.NullPointerException pq a variavel user quando chama getNome retorna um null, talvez esse setString tenha algo no código que impessa passar valores nulls.

public class Testa {
    public static void print(Object objeto){
        if(objeto==null)
            throw new NullPointerException();
        System.out.println(objeto.toString());
    }
    public static void main(String[] args) {
        Usuario user=new Usuario();
        print(user.getNome());
    }
}

Estou iniciando no forum espero ter ajudado!

Mateus_Silva2

Blz pessoal, vou ver se tem outro método de fazer, qualquer coisa posto aqui, valeu ^^

Mateus_Silva2

Claro q sim cara, tb sou iniciante kk

Criado 4 de fevereiro de 2020
Ultima resposta 4 de fev. de 2020
Respostas 8
Participantes 3