Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro createStatement();

A classe TestaListagem está apresentando erro, apenas alterei os códigos de acordo com o que o professor está fazendo na aula, procurei entender o real motivo do erro, mas não consegui.

No erro diz que o método createStatement(); não está definido para o tipo CriaConexao. Segue código desta e das outras classes

    import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestaListagem {

    public static void main(String[] args) throws SQLException {

        CriaConexao criaConexao = new CriaConexao();
        Connection connection = criaConexao.recuperarConexao();

        Statement stm = criaConexao.createStatement();
        stm.execute("Select id, nome, descricao from produto");

        ResultSet rst = stm.getResultSet();

        while(rst.next()) {
            Integer id = rst.getInt("id");
            System.out.println(id);
            String nome = rst.getString("nome");
            System.out.println(nome);
            String descricao = rst.getString("descricao");
            System.out.println(descricao);
        }

        connection.close();
    }

}
import java.sql.Connection;
import java.sql.SQLException;

public class TestaConexao {

    public static void main(String[] args) throws SQLException {

        CriaConexao criaConexao = new CriaConexao();
        Connection connection = criaConexao.recuperarConexao();

        System.out.println("Fechando conexão");

        connection.close();
    }

}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class CriaConexao {

    public Connection recuperarConexao() throws SQLException {
        return DriverManager.
                getConnection("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC", "root", "BJn1A#VFiw!9");


    }

}
1 resposta
solução!

Acabei encontrando o problema.

Na classe TestaListagem, no trecho

Statement stm = criaConexao.createStatement();
        stm.execute("Select id, nome, descricao from produto");
O corretor é

```connection.createStatement();

E não

criaConexao.createStatement();

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software