Busca no mysql java

4 respostas
java
V

Boa tarde, fiz um código que faz uma pesquisa no banco de dados pelo id e retorna as informações que estão salvas no banco, mas por algum motivo eu não estou conseguindo usar este método. Alguém poderia dar uma analisada e verificar se possui algo de errado?

Segue o codigo

public Tarefas buscaPorId(Long id){
        Connection con = new ConnectionFactory().getConnection();
        PreparedStatement stmt = null;
        ResultSet rs= null;
        
        try{
      
        Tarefas taref = new Tarefas();
        stmt = con.prepareStatement("SELECT * FROM tarefas WHERE id = ?");
        stmt.setLong(1, id);
        stmt.executeQuery();
        
        if(rs.next()){
            
            taref.setId(rs.getLong("id"));
            taref.setDescricao(rs.getString("descricao"));
            taref.setFinalizado(rs.getBoolean("finalizado"));
            
            Calendar data = Calendar.getInstance();
               data.setTime(rs.getDate("dataFinalizacao"));
               taref.setDataFinalizacao(data);
      
        }
        
        return taref;
    }catch(SQLException e){
        throw new RuntimeException (e);
    }finally{
        ConnectionFactory.closeConnection(con,stmt,rs);
    }
}


Classe da execução

public static void main(String[] args) {
   Tarefas tarefa = new Tarefas();
   TarefasDAO dao = new TarefasDAO();
   
    Long id = 4L;
    System.out.println("executando");
    tarefa.setId(id);
    dao.buscaPorId(id);
            
    System.out.println("Descricao" + tarefa.getDescricao());
    

    System.out.println("Fim da exec");
    
}

}

Foto do erro
image

4 Respostas

S

Tente usar isso:

stmt = this.con.prepareStatement("SELECT * FROM tarefas WHERE id = ?");
ResultSet rs = stmt.executeQuery();

if(rs.next){
//Codigo//
}
V

Erro ainda persiste!!

S

Qual exatamente é a linha 104 do TarefasDAO?

V

A parte do bloco de condição if que eu botei no tópico

Criado 19 de maio de 2018
Ultima resposta 20 de mai. de 2018
Respostas 4
Participantes 2