Conexão com o banco retorna nulo

Olá pessoal,

Sou nova aqui, e inexperiente com java, e estou tendo um probleminha e não estou sabendo resolver.

Estou tentando realizar a conexão com o banco, mas o mesmo não está ocorrendo. Ele simplesmente não retorna erro algum. O meu código é para acessar o banco e realizar uma consulta, porém, ao debugar percebo que as variáveis con, smt, rs e o objeto usuario retornam null.

Segue abaixo os trechos do código.

Agradeço a atenção.

public void abreBanco() throws Exception{
 try{
        Class.forName("com.mysql.jdbc.Driver");
         con = DriverManager.getConnection("jdbc:mysql://localhost:3306/banco","root","senha");
         
    }catch(Exception e){
        e.printStackTrace();
        System.out.println("Erro: " + e.getMessage());
    }

}


public Usuario loginUsuario(int matricula, String senha)throws Exception{
    
   Usuario usuario = new Usuario();

    try{
        abreBanco();
       
        stmt = con.prepareStatement("select * from usuario where matricula = "+ matricula +" and senha = "+ senha);
        rs = stmt.executeQuery();
        stmt.execute();
         
            if ( rs.next()){
             usuario = preencheUsuario(usuario, rs);
                    } else{            
             usuario =  null; 
             }
        
    }catch(Exception e){
        e.printStackTrace();
        System.out.println("Erro: " + e.getMessage());
    }
     return usuario;
}

Bem Vindo , antes de postar algo de uma olhada no seguinte link

http://www.guj.com.br/posts/list/50115.java

Vejamos:

[code]public void abreBanco() throws Exception{
try{
Class.forName(“com.mysql.jdbc.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/banco”,“root”,“senha”);

}catch(ClassNotFoundException e){
throw new SQLException(e.getMessage);
System.out.println("Erro: " + e.getMessage());
}
}
[/code]

veja se colocando aquilo você recebe um novo erro e posta aqui.

depois, você ja criou a conexao com o banco de dados, so precisa invocar agora, então:


private Connection con; //declara a sua conexao

public Usuario() throws SQLException{ //aqui é a sua conexao definida como con
          this.con = suaClasse.abreBanco.getConnection();
}


public Usuario loginUsuario(int matricula, String senha) throws Exception{ 
PreparedStatement stmt = this.con.prepareStatemtent("select * from usuario where matricula = "+ matricula +" and senha = "+ senha);
ResultSet rs = stmt.executeQuery()

//stmt.execute(); -- você já pediu pro stmt rodar o seu executeQuery, não há a necessidade do execute

//veja se retorna valores a partir daqui também
if ( rs.next()){ 
usuario = preencheUsuario(usuario, rs); 
} else{ 
usuario = null; 
} 

return usuario; 
} 

}

tudo isso você encontra na apostila FJ-21 da Caelum que está para download gratis no site www.caelum.com.br
dê uma olhada que você tira de letra.

T+

Consegui resolver o problema.
Obrigada pela ajuda.