Pessoal, fiz toda a sequencia do vídeo e quando fui executar a funcionalidade que lista os registros da tabela Categoria deu o seguinte erro: Exception in thread "main" java.lang.NullPointerException at br.com.empresa.jdbc.TestaCategorias.main(TestaCategorias.java:15) Não tenho ideia de como resolver. Alguém poderia me dar uma dica? O código está abaixo:
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import br.com.empresa.jdbc.dao.CategoriasDAO;
import br.com.empresa.jdbc.modelo.Categoria;
public class TestaCategorias {
public static void main(String[] args) throws SQLException {
try (Connection con = new ConnectionPool().getConnection()) {
List<Categoria> categorias = new CategoriasDAO(con).lista();
for(Categoria categoria : categorias) {
System.out.println(categoria.getNome());
}
}
}
}
package br.com.empresa.jdbc.modelo;
public class Categoria {
private final int id;
private final String nome;
public Categoria(int id, String nome) {
this.id = id;
this.nome = nome;
}
public String getNome() {
return this.nome;
}
}
package br.com.empresa.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.com.empresa.jdbc.modelo.Categoria;
public class CategoriasDAO {
private final Connection con;
public CategoriasDAO(Connection con) {
this.con = con;
}
public List<Categoria> lista() throws SQLException {
List<Categoria> categorias = new ArrayList<>();
String sql = "select * from Categoria";
try(PreparedStatement stmt = con.prepareStatement(sql)) {
stmt.execute();
try(ResultSet rs = stmt.getResultSet()) {
while (rs.next()) {
int id = rs.getInt("id");
String nome = rs.getString("nome");
Categoria categoria = new Categoria(id, nome);
categorias.add(categoria);
}
}
}
return null;
}
}