ola amigos boa tarde , estou com um problema na hora de passar o objeto por parametro pra minha Classe DAO , pois o metodo set q eu dou na minha main de teste nao aparece no get da minha classe dao , assim ele insere null no banco.
package modelo.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Calendar;
import modelo.ContatoVO;
public class DAO {
private Connection conn;
String url = "jbdc:postgresql://localhost:5432/agenda";
String user = "postgres";
String senha = "123789";
public DAO() {
}
public void conectar() throws SQLException {
conn = DriverManager.getConnection(url, user, senha);
System.out.println("conexao realizada");
}
public void desconectar() throws SQLException {
conn.close();
System.out.println("conexao fechada");
}
public void retornaObjeto(ContatoVO contato) {
ContatoVO Contato = new ContatoVO();
// if (Contato.getNome().equals("")){
String a = Contato.getEmail();
String b = Contato.getNome();
String c = Contato.getEndereco();
// Calendar d = Contato.getDataNascimento();
System.out.println(a + " " + b + " " + c + " ");
// }else {System.out.println("objeto retornou vazio");}
}
public void inserir(ContatoVO contato) throws SQLException {
ContatoVO Contato = new ContatoVO();
// if (Contato.getNome().equals(null))
conectar();
String sql = " insert into contato (nome,email,enderecos,datanascimento) values (?,?,?,?) ";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, Contato.getNome());
ps.setString(2, Contato.getEmail());
ps.setString(3, Contato.getEndereco());
Date dataParaGravar = new Date(Calendar.getInstance().getTimeInMillis());
ps.setDate(4, dataParaGravar);
ps.executeUpdate();
System.out.println("gravado");
desconectar();
// ps.setDate(4, new
// java.sql.Date(Contato.getDataNascimento().getTime()) );
// ps.setDate (4, new Date(Contato.getDataNascimento().getTime()));
// ps.setDate(1,Contato.getDataNascimento() );
// if
}
public void procurar() throws SQLException {
conectar();
PreparedStatement ps = conn.prepareStatement("select * from contato");
// executa o select
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String nome = rs.getString("nome");
String email = rs.getString("email");
String endereco = rs.getString("enderecos");
System.out.println(nome + " :" + email + " <===>" + endereco);
}
rs.close();
ps.close();
desconectar();
}
}
classe vo
package modelo;
import java.sql.Date;
import java.util.Calendar;
public class ContatoVO {
private String nome ;
private String email ;
private String endereco ;
private Calendar dataNascimento ;
public ContatoVO() {
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
}
classe teste
package modelo;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import modelo.dao.DAO;
public class TestDAO {
public static void main(String[] args) throws ParseException {
DAO dao = new DAO();
ContatoVO contato = new ContatoVO();
contato.setNome("jordao");
contato.setEmail("[email removido]");
contato.setEndereco("rua 123 ");
// SimpleDateFormat dataFormat = new SimpleDateFormat("DD/MM/yyyy");
contato.setDataNascimento(Calendar.getInstance()); // (dataFormat.parse("18/09/1990"));
dao.retornaObjeto(contato);
//** try {
// dao.inserir(contato);
// dao.procurar();
// } catch (SQLException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
//}
}
}