Boa Tarde, estou usando a apostila fj-21 para aprender sobre a programação web, mas estou usando o banco de dados oracle 11g Express.
Meu problema e que, a conexão com o oracle funciona perfeitamente, criei as classes para conexao e para adicionar contatos na tabela, mas quando testo a classe que adiciona os contatos aparece o maldito erro:
Exception in thread “main” java.lang.NullPointerException
at br.com.wacontactcenter.jdbc.dao.ContatoDAO.adiciona(ContatoDAO.java:25)
at br.com.wacontactcenter.jdbc.teste.TestaInsere.main(TestaInsere.java:19)
A minha classe ContatoDAO e TestaInsere esta igualzinho a da apostila, e como a conexão com o oracle esta funcionando corretamente, não sei o que possa estar acontecendo, se alguem puder me ajudar agradeceria muito.
[code]package br.com.wacontactcenter.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import br.com.wacontactcenter.jdbc.modelo.Contato;
import Conexao.connection;
public class ContatoDAO {
private Connection connection;
public void contatoDAO() {
this.connection = new connection().getConexao();
}
public void adiciona(Contato contato) {
String sql = "insert into contatos " +
"(nome,departamento,senha)" +
" values (?,?,?)";
try {
// prepared statement para inserção
PreparedStatement stmt = connection.prepareStatement(sql);
// seta os valores
stmt.setString(1,contato.getNome());
stmt.setString(2,contato.getDepartamento());
stmt.setInt(3,contato.getSenha());
// executa
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}[/code]
[code]package br.com.wacontactcenter.jdbc.teste;
import br.com.wacontactcenter.jdbc.dao.ContatoDAO;
import br.com.wacontactcenter.jdbc.modelo.Contato;
public class TestaInsere {
public static void main(String[] args) {
Contato contato = new Contato();
contato.setNome("Fellipe");
contato.setDepartamento("TI-Desenvolvimento");
contato.setSenha(181);
// grave nessa conexão!!!
ContatoDAO dao = new ContatoDAO();
// método elegante
dao.adiciona(contato);
System.out.println("Gravado!");
}
}
[/code]
[code]package br.com.wacontactcenter.jdbc.modelo;
public class Contato {
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDepartamento() {
return departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public int getSenha() {
return senha;
}
public void setSenha(int senha) {
this.senha = senha;
}
private Long id;
private String nome;
private String departamento;
private int senha;
}
[/code]
Eu to usando o jdk7 e na hora que usei o SQLDevelopment da oracle disse q o programa poderia nao funcionar corretamente, mas como a conexão funcionou corretamente eu não sei se tem algo haver, e o nome da minha conexão do oracle se chama " Intranet ", passei essas informações pois não sei o que pode estar acontecendo.
Obs: Desculpem os erros de português.