Olá,
Estou com um problema e queria saber se alguem no fórum poderia ajudar a resolver.
Meu problema é o seguinte, não consigo dar um insert quando rodo no servidor.
Criei uma classe para testar a conexão rodando como Java Aplication e funcionou, só que quando tento implementar no servidor ele da nullpointer exception nessa linha:
insereSt = (PreparedStatement) conexao.prepareStatement(sql);
OBS: estou usando MVC, não sei se precisa de algo em especial para poder efetuar a conexão com o banco.
Desde já agradeço a quem puder esclarecer meu problema
Classe do CRUD:
package model;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ConsultorCrudJDBC {
public void salvar(Consultor consultor){
Connection conexao = this.geraConexao();
PreparedStatement insereSt = null;
String sql = "INSERT INTO consultor(nome, sobrenome) VALUES (?,?)";
try{
insereSt = (PreparedStatement) conexao.prepareStatement(sql);
insereSt.setString(1, consultor.getNome());
insereSt.setString(2, consultor.getSobrenome());
insereSt.executeUpdate();
}catch(SQLException e){
System.out.println("Erro ao incluir consultor. Erro " + e.getMessage());
}finally{
try{
conexao.close();
}catch(Throwable e){
System.out.println("Erro ao fechar operação de inserção. Erro " + e.getMessage());
}
}
}
private Connection geraConexao() {
Connection conexao = null;
try{
String url = "jdbc:mysql://localhost/lp";
String usuario = "root";
String senha = "";
conexao = (Connection) DriverManager.getConnection(url, usuario, senha);
}catch(SQLException e){
System.out.println("Ocorreu um erro de SQL. Erro " + e.getMessage());
}
return conexao;
}
}
Classe que chama o método:
package model;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class RegrasNegocios
*/
public class RegrasNegocios extends HttpServlet {
private static final long serialVersionUID = 1L;
String action;
public RegrasNegocios() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
action = request.getParameter("action");
if (action.equals("pesquisar")) {
//Executa a regra de negócio
Consultor consultor = new Consultor();
ConsultorCrudJDBC consultorCrud = new ConsultorCrudJDBC();
consultor.setNome("Vitor");
consultor.setSobrenome("Rodrigues Presutti");
consultorCrud.salvar(consultor);
response.sendRedirect("Controlador?action=" + "Pesquisado");
}
/*
if (action.equals("cadastrar")) {
//Executa a regra de negócio
response.sendRedirect("Controlador?action=" + "AlunoCadastrado");
}
if (action.equals("imprimirComprovante")) {
//Executa a regra de negócio
//Deve haver um VO passando para o DAO
response.sendRedirect("Controlador?action=" + "ComprovanteImpresso");
}
if (action.equals("enviarEmail")) {
//Executa a regra de negócio
response.sendRedirect("Controlador?action=" + "EmailEnviado");
}
*/
}
}