Pessoal, estou com uma dúvida sobre conexão...
A minha dúvida não tem nada a ver com erro de código, pois está funcionando. Só queria entender um pouco o conceito de como as coisas funcionam.
Vamos para a dúvida:
Porque primeiramente eu tenho que criar uma Connection, depois dentro da "Connection" passar um Statement, e depois dentro do "Statement", passar um ResultSet????
Só queria saber um pouco do conceito como isso tudo funciona.
Grato pela atenção, Diego.
public Usuario validarUsuario(String usuario2, String senha2) throws DAOException {
Usuario usuario = null;
Connection con = null;
try {
con = Conexao.obterInstancia().obterConexao();
con.setAutoCommit(false);
Statement stmt = con.createStatement();
/*String sql = "SELECT idUsuario, usuario FROM usuario" +
"WHERE usuario = '"+usuario2+"' and senha='"+senha2+"' ";*/
String sql = "SELECT * FROM usuario where usuario = '"+usuario2+"' and senha = '"+senha2+"' " ;
ResultSet resultSet = stmt.executeQuery(sql);
while (resultSet.next()) {
usuario = new Usuario();
System.out.println("AEEEEEE");
System.out.println(resultSet.getInt(1));
System.out.println(resultSet.getString("usuario"));
System.out.println(resultSet.getString("senha"));
usuario.setIdUsuario(resultSet.getInt(1));
usuario.setUsuario(resultSet.getString("usuario"));
usuario.setSenha(resultSet.getString("senha"));
}
resultSet.close();
stmt.close();
} catch(Exception e) {
System.out.println(e);
try {
if(con != null && !con.isClosed()){
con.rollback();
}
} catch(Exception e2) {
e2.printStackTrace();
}
throw new DAOException("Erro ao validar usuario ",e);
} finally {
//try {
// if(con != null && ! con.isClosed())
// con.close();
//System.out.println("PQP");
//con.close();
//} catch(SQLException e) {
// e.printStackTrace();
// }
}
return usuario;
}
}