pessoal do fazendo os exercicios propostos na apostila da caelum só que ta dando um monte de erro nas duas primeiras classes a connection factory e a testaConexao ta ok
mas já na classes contatodao e testeInsere da muitos erros
esses sao os erros que aparecem na teste Insere
Exception in thread “main” java.lang.NullPointerException
at br.com.caelum.jdbc.Dao.ContatoDao.adiciona(ContatoDao.java:30)
at br.com.caelum.jdbc.Teste.TesteInsere.main(TesteInsere.java:28)
e os erros aparecem nao contatoDao
vou colocar todas as quatro classes
package br.com.teste;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static Connection getConnection() throws SQLException {
try {
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost/fj21","jeffer","756210");
} catch (ClassNotFoundException e) {
throw new SQLException(e.getMessage());
}
}
}
essa ta ok
package br.com.caelum.jdbc.Teste;
import java.sql.SQLException;
import java.sql.Connection;
import br.com.teste.ConnectionFactory;
public class TestaConexao {
public static void main(String[] args)throws SQLException {
try{
ConnectionFactory connection = new ConnectionFactory();
Connection conexao = connection.getConnection();
System.out.println("Conectou!");
}catch(SQLException e ){
System.out.println("Erro: "+ e.getLocalizedMessage());
}
}
}
essa tbm so coloquei para desencargo de conciençia
package br.com.caelum.jdbc.Dao;
import java.sql.Connection;
import java.sql.SQLException;
import br.com.caelum.Modelo.Contato;
import br.com.teste.ConnectionFactory;
import com.mysql.jdbc.PreparedStatement;
import java.sql.Date;
public class ContatoDao {
private Connection connection;
public ContatoDao() throws SQLException {
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona(Contato contato ){
String sql = "insert into contatos (nome,email,endereco,dataNascimento)values(?,?,?,?)";
try{
//prepared statement para inserção
PreparedStatement stmt = (PreparedStatement) connection.prepareStatement(sql);
// seta os valores
stmt.setString(1,contato.getNome());
stmt.setString(2,contato.getEmail());
stmt.setString(3,contato.getEndereco());
stmt.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stmt.execute();
stmt.close();
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
essa é apoblematica
package br.com.caelum.jdbc.Teste;
import java.sql.SQLException;
import java.util.Calendar;
import br.com.caelum.Modelo.Contato;
import br.com.caelum.jdbc.Dao.ContatoDao;
public class TesteInsere {
public static void main(String[] args) throws SQLException {
//pronto para gravar
Contato contato = new Contato();
contato.setNome("Jefferson");
contato.setEmail("[email removido]");
contato.setEndereco("rua zabovari chereder");
contato.setDataNascimento(Calendar.getInstance());
// grave a conexao
ContatoDao dao = new ContatoDao();
// metodo elegante
dao.adiciona(contato);
System.out.println("Gravado !");
}
}
e essa são as duas que ta dando erro
se alguém puder me ajudar fiko grato
