Estou fazendo um cadastro de funcionário e está apresentando o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at br.com.DBsistema.dao.FuncionarioDAO.salvar(FuncionarioDAO.java:25)
at br.com.DBsistema.dao.FuncionarioDAO.main(FuncionarioDAO.java:45)
Minha classe DAO:
public class FuncionarioDAO {
public void salvar(Funcionario funcionario)throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("INSERT INTO tblfuncionario");
sql.append("(nomefunc,cargofunc,senha)");
sql.append("VALUES(?, ?, ?)");
Connection conexao = ConexaoFabrica.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, funcionario.getNomefunc());
comando.setString(2, funcionario.getCargofunc());
comando.setLong(3, funcionario.getSenha());
comando.executeUpdate();
}
//Testando o Insert
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.setNomefunc("Anderson");
Funcionario f2 = new Funcionario();
f2.setCargofunc("Analista");
Funcionario f3 = new Funcionario();
f3.setSenha(123456L);
FuncionarioDAO fudao = new FuncionarioDAO();
try {
fudao.salvar(f1);
fudao.salvar(f2);
fudao.salvar(f3);
System.out.println("Fabricantes salvos");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Ocorreu erro ao salvar um dos fabricantes");
}
}
}
Minha conexão está assim:
public class ConexaoFabrica {
private static final String USUARIO = "root";
private static final String SENHA = "123456";
private static final String URL = "jdbc:mysql://localhost:3306/dbsistema?useSSL=false";
public static Connection conectar()throws SQLException{
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Connection conexao = (Connection)DriverManager.getConnection(URL,USUARIO,SENHA);
return conexao;
}
//Teste de conexao
public static void main(String[] args) {
try {
Connection conexao = ConexaoFabrica.conectar();
System.out.println("Conexao realizada com sucesso");
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Erro na conexao");
}
}
}
O teste de conexão deu certo. Mas quando rodo o teste do insert esta apresentando este erro.