Ir ao conteúdo
  • Cadastre-se
kjgomes

Dúvida com java.lang.NullPointerException

Recommended Posts

Caros colegas,

tenho esta classe:

public class ClienteDAO extends ConectionMySql{public List listar() throws Exception    {        OpenDatabase();                sql = "SELECT * FROM cliente ORDER BY nome";                ps = con.prepareStatement(sql); //o erro aponta para esta linha                rs = ps.executeQuery();                List listaClientes = new ArrayList();                while(rs.next())        {            Cliente c = new Cliente();                        c.setId(rs.getInt("id"));            c.setNome(rs.getString("nome"));            c.setEndereco(rs.getString("endereco"));            c.setCidade(rs.getString("cidade"));            c.setUf(rs.getString("uf"));            c.setTelefone(rs.getLong("telefone"));            c.setEmail(rs.getString("email"));                        listaClientes.add(c);        }        CloseDatabase();        return listaClientes;    }}

esta outra

public class FormFacade extends BaseFacade{    public String getListClientes()    {        try        {            ClienteDAO dao = new ClienteDAO();            return html.getList(dao.listar());        }        catch(Exception ex)        {            return "Exceção: RETORNA ESTE ERRO " + ex.getMessage();        }    }}

e este metodo para mostrar os clientes cadastrados.

public class TesteListar{    public static void main (String[] args) throws Exception    {        ClienteDAO dao = new ClienteDAO();                List <Cliente> clientes = dao.listar(); //e para esta linha                for (Cliente cliente : clientes) {            System.out.println("Cod: " + cliente.getId());            System.out.println("Nome: " + cliente.getNome());            System.out.println("Endereco: " + cliente.getEndereco());            System.out.println("Cidade: " + cliente.getCidade());            System.out.println("UF: " + cliente.getUf());            System.out.println("Telefone: " + cliente.getTelefone());            System.out.println("Email: " + cliente.getEmail());            System.out.println("");        }    }}

Porém quando executo este último gera o seguinte erro:

Exception in thread "main" java.lang.NullPointerException    at dao.ClienteDAO.listar(ClienteDAO.java:69)    at teste.TesteListar.main(TesteListar.java:22)

Não estou conseguindo entender este erro, já que estou seguindo um tutorial a "risca". Será que alguém pode indicar onde estou errando?

Obrigado.


Resolvido.

Estava esquecendo de abrir a conexão com banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja, um segredo do famoso NullPointerException, é olhar o ponto onde esse objeto está sendo instanciado ou onde o atributo está sendo setado.

 

Pelo que pude constatar, na instrução con.prepareStatement() o atributo con não está instanciado. Alguma coisa não ocorreu de forma correta dentro da função de inicialização OpenDatabase()

 

Tente debugar essa parte que você encontrará a solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×