Bom amigos...
Fiz uma estutura simples com o DAO e a Classe FUNCIONARIO. Conectei atraves do NetBeans, tudo perfeito. ok.
Mas na hora de compilar recebo um erro de NULL POINTER EXCEPTION q está me tirando do sério....
Se alguem puder dar uma solução... segue abaixo o programa.
package cadastrofuncionario;
/**
*
* @author Negrão
*/
public class Funcionario {
private String nome;
private int rg;
private String cpf;
private int nasc;
private char sexo;
private double salFunc;
DAO db;
public Funcionario() {
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getRg() {
return rg;
}
public void setRg(int rg) {
this.rg = rg;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public int getNasc() {
return nasc;
}
public void setNasc(int nasc) {
this.nasc = nasc;
}
public char getSexo() {
return sexo;
}
public void setSexo(char sexo) {
this.sexo = sexo;
}
public double getSalFunc() {
return salFunc;
}
public void setSalFunc(double salFunc) {
this.salFunc = salFunc;
}
public void insereFuncionario(){
String tb= "func";
String cp= "(nmFunc)";
String vls= "('"+nome+"')";
db.insere(tb, cp, vls);
}
}
package cadastrofuncionario;
import java.sql.*;
public class DAO {
Connection con;
Statement st;
ResultSet res;
int upd;
StringBuilder msg= new StringBuilder();
public DAO() {
}
public void conecta(){
try{
Class.forName("com.mysql.jdbc.Driver");
con= DriverManager.getConnection("jdbc:mysql://localhost/projeto","","");
st= con.createStatement();
}catch(ClassNotFoundException e){
msg.append("Erro Driver");
}
catch(SQLException e){
msg.append("Não conectou no banco");
}
} // FIM CONECTA
public void insere(String tb, String campos, String vals){
conecta();
try{
String q= "insert into "+tb+" "+campos+ " values "+ vals;
//Executar o SQL
upd= st.executeUpdate(q);
// Teste do banco
if (upd!=0)
msg.append("Insercao OK!");
else
msg.append("Erro: Insercao");
}catch(SQLException e){
msg.append("Erro: SQL insercao");
}
desconecta();
}// FIM INSERE
public void desconecta(){
try{
con.close();
}catch(SQLException e){
msg.append("Erro Desconecta");
}
} // FIM DESCONECTA
//RETORNAR MENSAGENS
public String getMsg(){
return msg.toString();
}
}
package cadastrofuncionario;
/**
*
* @author Negrão
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Funcionario f= new Funcionario();
DAO dbresp;
f.setNome("Sonia");
f.insereFuncionario();
dbresp = new DAO();
}
}
Compiling 1 source file to C:\Documents and Settings\Negrão\CadastroFuncionario\build\classes
compile:
run:
Exception in thread "main" java.lang.NullPointerException
at cadastrofuncionario.Funcionario.insereFuncionario(Funcionario.java:81)
at cadastrofuncionario.Main.main(Main.java:30)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
db.insere(tb, cp, vls);
f.insereFuncionario();