Não estou entendo esse null-pointer porque a variável esta recebendo os dados do formulário vou colocar o erro
o jar que estou usando mysql-connector-java-5.1.6-bin.jar
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NullPointerException
com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:649)
com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:587)
com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:4068)
java.lang.String.valueOf(Unknown Source)
java.lang.StringBuffer.append(Unknown Source)
com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
com.mysql.jdbc.Connection.registerStatement(Connection.java)
com.mysql.jdbc.Statement.(Statement.java:270)
com.mysql.jdbc.PreparedStatement.(PreparedStatement.java:500)
com.mysql.jdbc.Connection.clientPrepareStatement(Connection.java:2187)
com.mysql.jdbc.Connection.prepareStatement(Connection.java:4829)
com.mysql.jdbc.Connection.prepareStatement(Connection.java:4734)
br.com.novavida.DAO.CadastroDAO.adiciona(CadastroDAO.java:33)
br.com.novavida.Action.AdcionaCadastroAction.execute(AdcionaCadastroAction.java:22)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
minha classe de DAO
package br.com.novavida.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.novavida.connections.ConnectionsFactory;
import br.com.novavida.pojo.Cadastro;
public class CadastroDAO {
private Connection connection;
public CadastroDAO(Connection conn) {
this.connection = conn;
}
public CadastroDAO() throws SQLException {
this.connection = ConnectionsFactory.getConnection();
}
public void adiciona(Cadastro cadastro) throws SQLException {
PreparedStatement statement = this.connection
.prepareStatement ("INSERT INTO cad_membro (NOME_CAD,END_CAD,BAIRRO_CAD,CIDADE_CAD,UF_CAD,CEP_CAD,TEL_CAD,TELTRAB_CAD,"
+ "NASC_CAD,PROF_CAD,ESTACIV_CAD,DATACAS_CAD,NFILHOS_CAD,NOMECONJ_CAD,MEMBCONJ_CAD,OUTRAIGRE_CAD,BATISNASG_CAD,FUNCAO_CAD,EMAIL_CAD,DATAENT_CAD,"
+ "IMAGEM_CAD, NASCONJ_CAD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
statement.setString(1, cadastro.getNome());
statement.setString(2, cadastro.getEndereco());
statement.setString(3, cadastro.getBairro());
statement.setString(4, cadastro.getCidade());
statement.setString(5, cadastro.getUf());
statement.setInt(6, cadastro.getCep());
statement.setInt(7, cadastro.getTelefone());
statement.setInt(8, cadastro.getTeltrab());
statement.setDate(9, cadastro.getNascimento());
statement.setString(10, cadastro.getProfissao());
statement.setString(11, cadastro.getEstcivil());
statement.setDate(12, cadastro.getDatacas());
statement.setInt(13, cadastro.getNfilhos());
statement.setString(14, cadastro.getConjuge());
statement.setString(15, cadastro.getMembroigreja());
statement.setString(16, cadastro.getOutraigreja());
statement.setDate(17, cadastro.getBatismo());
statement.setString(18, cadastro.getFuncao());
statement.setString(19, cadastro.getEmail());
statement.setDate(20, cadastro.getDataent());
statement.setString(21, cadastro.getImagem());
statement.setDate(22, cadastro.getNasconj());
statement.execute();
statement.close();
}
public void remove(Cadastro cadastro) throws SQLException {
PreparedStatement statement = connection
.prepareStatement("DELETE FROM cad_membro WHERE NUM_CAD=?");
statement.setLong(1, cadastro.getNum_cad());
statement.execute();
statement.close();
}
public List<Cadastro> getLista() throws SQLException {
PreparedStatement statement = this.connection
.prepareStatement("SELECT * FROM cad_membro");
ResultSet rs = statement.executeQuery();
List<Cadastro> cad = new ArrayList<Cadastro>();
while (rs.next()) {
Cadastro cadastro = new Cadastro();
cadastro.setNum_cad(rs.getLong("NUM_CAD"));
cadastro.setBairro(rs.getString("BAIRRO_CAD"));
cadastro.setBatismo(rs.getDate("BATISNASG"));
cadastro.setCep(rs.getInt("CEP_CAD"));
cadastro.setCidade(rs.getString("CIDADE_CAD"));
cadastro.setConjuge(rs.getString("NOME_CONJ"));
cadastro.setDatacas(rs.getDate("DATACAS_CAD"));
cadastro.setDataent(rs.getDate("DATAENT_CAD"));
cadastro.setEmail(rs.getString("EMAIL_CAD"));
cadastro.setEndereco(rs.getString("END_CAD"));
cadastro.setEstcivil(rs.getString("ESTACIV_CAD"));
cadastro.setFuncao(rs.getString("FUNCAO_CAD"));
cadastro.setImagem(rs.getString("IMAGEM_CAD"));
cadastro.setMembroigreja(rs.getString("MENBCONJ"));
cadastro.setNascimento(rs.getDate("NASC_CAD"));
cadastro.setNfilhos(rs.getInt("NFILHOS"));
cadastro.setNome(rs.getString("NOME_CAD"));
cadastro.setOutraigreja(rs.getString("OUTRAIGRE"));
cadastro.setProfissao(rs.getString("PROF_CAD"));
cadastro.setTelefone(rs.getInt("TEL_CAD"));
cadastro.setTeltrab(rs.getInt("TELTRAB_CAF"));
cadastro.setUf(rs.getString("UF_CAD"));
cadastro.setNasconj(rs.getDate("NASCONJ_CAD"));
// ADCIONANDO OBJ A LISTA
cad.add(cadastro);
}
rs.close();
statement.close();
return cad;
}
public void altera(Cadastro cadastro) throws SQLException {
PreparedStatement statement = connection
.prepareStatement("UPDATE cad_membro SET NOME_CAD=?,END_CAD=?,BAIRRO_CAD=?,CIDADE_CAD=?,UF_CAD=?,CEP_CAD=?,TEL_CAD=?,TELTRAB_CAD=?,"
+ "NASC_CAD=?,PROF_CAD=?,ESTACIV_CAD=?,DATACAS_CAD=?,NFILHOS_CAD=?,NOMECONJ_CAD=?,MEMBCONJ_CAD=?,OUTRAIGRE_CAD=?,BATISNASG_CAD=?,FUNCAO_CAD=?,EMAIL_CAD=?,DATAENT_CAD=?,"
+ "IMAGEM_CAD=?,NASCONJ_CAD=? WHERE NUM_CAD=?");
statement.setString(1, cadastro.getNome());
statement.setString(2, cadastro.getEndereco());
statement.setString(3, cadastro.getBairro());
statement.setString(4, cadastro.getCidade());
statement.setString(5, cadastro.getUf());
statement.setInt(6, cadastro.getCep());
statement.setInt(7, cadastro.getTelefone());
statement.setInt(8, cadastro.getTeltrab());
statement.setDate(9, cadastro.getNascimento());
statement.setString(10, cadastro.getProfissao());
statement.setString(11, cadastro.getEstcivil());
statement.setDate(12, cadastro.getDatacas());
statement.setInt(13, cadastro.getNfilhos());
statement.setString(14, cadastro.getConjuge());
statement.setString(15, cadastro.getMembroigreja());
statement.setString(16, cadastro.getOutraigreja());
statement.setDate(17, cadastro.getBatismo());
statement.setString(18, cadastro.getFuncao());
statement.setString(19, cadastro.getEmail());
statement.setDate(20, cadastro.getDataent());
statement.setString(21, cadastro.getImagem());
statement.setDate(22, cadastro.getNasconj());
statement.setLong(23, cadastro.getNum_cad());
statement.execute();
statement.close();
}
public Cadastro procura(Long id) throws SQLException {
Cadastro cadastro = new Cadastro();
PreparedStatement statement = this.connection
.prepareStatement("SELECT * FROM cad_membro WHERE NUM_CAD=?");
statement.setLong(1, id);
ResultSet rs = statement.executeQuery();
while (rs.next()) {
cadastro.setNum_cad(rs.getLong("NUM_CAD"));
cadastro.setBairro(rs.getString("BAIRRO_CAD"));
cadastro.setBatismo(rs.getDate("BATISNASG_CAD"));
cadastro.setCep(rs.getInt("CEP_CAD"));
cadastro.setCidade(rs.getString("CIDADE_CAD"));
cadastro.setConjuge(rs.getString("NOME_CAD"));
cadastro.setDatacas(rs.getDate("DATACAS_CAD"));
cadastro.setDataent(rs.getDate("DATAENT_CAD"));
cadastro.setEmail(rs.getString("EMAIL_CAD"));
cadastro.setEndereco(rs.getString("END_CAD"));
cadastro.setEstcivil(rs.getString("ESTACIV_CAD"));
cadastro.setFuncao(rs.getString("FUNCAO_CAD"));
cadastro.setImagem(rs.getString("IMAGEM_CAD"));
cadastro.setMembroigreja(rs.getString("MEMBCONJ_CAD"));
cadastro.setNascimento(rs.getDate("NASC_CAD"));
cadastro.setNfilhos(rs.getInt("NFILHOS_CAD"));
cadastro.setNome(rs.getString("NOME_CAD"));
cadastro.setOutraigreja(rs.getString("OUTRAIGRE_CAD"));
cadastro.setProfissao(rs.getString("PROF_CAD"));
cadastro.setTelefone(rs.getInt("TEL_CAD"));
cadastro.setTeltrab(rs.getInt("TELTRAB_CAD"));
cadastro.setUf(rs.getString("UF_CAD"));
cadastro.setNasconj(rs.getDate("NASCONJ_CAD"));
}
return cadastro;
}
}