Caro Colegas,
Estou com esta mensagem de erro "java.lang.NullPointerException", em duas classes, e não estou conseguindo resolver este erro.
Abaixo segue o minha classe AlunoDAO:
Exception in thread "main" java.lang.NullPointerException
at dao.AlunoDAO.buscaporId(AlunoDAO.java:44)
at test.TesteBuscaPorId.main(TesteBuscaPorId.java:12)
Java Result: 1
Qual é a linha número 44 do arquivo AlunoDAO.java?
K
kildare
Esta é a linha:
ps=con.prepareStatement(SQL);
B
Bruno_Laturner
NullPointerExceptions acontecem quando:
MeuObjetoobjeto=null;// objeto está nuloobjeto.chamarUmMetodo();// Chamar um método de um objeto nulo causa NullPointerExceptions
A tua variável con está nula. Pegue uma conexão do banco e coloque nela.
Outra, não declare PreparedStatements e ResultSets como atributos da classe. Declare e use-os somente dentro do método em que foram criados.
K
kildare
Me desculpe, mas não entendi o que quis dizer que minha variável con está nula. Por um acaso seria pegando da classe de conexao?
publicclassConnectionMySql{publicConnectioncon;publicPreparedStatementps;publicResultSetrs;publicStringSQL;publicvoidOpenDatabase()throwsException{Class.forName("com.mysql.jdbc.Driver");Stringurl="jdbc:mysql://localhost:3306/gestao"; String user = "root"; String password = "";con=DriverManager.getConnection(url,user,password);}publicvoidCloseDatabase()throwsException{if(con!=null){con.close();}}
B
Bruno_Laturner
Se a única maneira de instanciar um objeto de conexão no teu sistema é chamar esse método OpenDatabase, se con está nulo, então isso quer dizer que você não está chamando OpenDatabase antes de fazer uma consulta à base de dados.
Primeira tenha certeza que OpenDatabase esteja funcionando.