Boa noite pessoal,
Primeiramente quero desejar um grande ano de 2011 para todos.
Vamos ao problema.
Estou iniciando em Java e tenho uma dúvida referente a como salvar os dados de uma classe que possui herança em uma base de dados.
Vamos as classes.
Classe Endereço
package br.com.especializacoes;
public class Endereco {
private String bairro;
private String rua;
private String cep;
private String numero;
private String complemento;
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public Endereco (String bairro, String rua, String cep, String numero, String complemento)
{
this.setBairro(bairro);
this.setRua(rua);
this.setCep(cep);
this.setNumero(numero);
this.setComplemento(complemento);
}
}
A classe que herda os dados da classe Endereço
Classe InstituicaoBean
package br.com.instituicao;
import br.com.especializacoes.Endereco;
public class InstituicaoBean {
private int idInstituicao;
private String nomeInstituicao;
private Endereco endereco;
public int getIdInstituicao() {
return idInstituicao;
}
public void setIdInstituicao(int idInstituicao) {
this.idInstituicao = idInstituicao;
}
public String getNomeInstituicao() {
return nomeInstituicao;
}
public void setNomeInstituicao(String nomeInstituicao) {
this.nomeInstituicao = nomeInstituicao;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
}
A Classe DAO
package br.com.instituicao;
import br.com.conexao.ConectionManager;
import br.com.especializacoes.Endereco;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InstituicaoDao {
public void adiciona (InstituicaoBean instituicao) throws SQLException{
Connection conn = null;
PreparedStatement stmt = null;
String sql = "INSERT INTO edu_instituicao (instnome, instbairro, instrua, instcep, instnumero, instcomplemento) VALUES (?,?,?,?,?,?)";
try {
conn = ConectionManager.getConexao();
stmt = conn.prepareStatement(sql);
Endereco end = new Endereco(sql, sql, sql, sql, sql);
stmt.setString(1, instituicao.getNomeInstituicao());
stmt.setString(2, end.getBairro());
stmt.setString(3, end.getRua());
stmt.setString(4, end.getCep());
stmt.setString(5, end.getNumero());
stmt.setString(6, end.getComplemento());
stmt.executeUpdate();
stmt.close();
} catch (Exception e) {
System.out.println(e);
}
finally{
ConectionManager.close(conn);
System.out.println("fechado");
}
}
}
Amigos o problema é não saber o que colocar nestas linhas de código abaixo.
Está certo em instanciar a classe endereço aqui?
Endereco end = new Endereco(sql, sql, sql, sql, sql);
Como devo proceder com as linhas abaixo?
stmt.setString(1, instituicao.getNomeInstituicao());
stmt.setString(2, end.getBairro());
stmt.setString(3, end.getRua());
stmt.setString(4, end.getCep());
stmt.setString(5, end.getNumero());
Tentei fazer inúmeras vezes, mas a minha falta de conhecimento em Java não me permitiu resolver está dúvida, por isso solicito uma forcinha de vocês.
Obrigado.
