I'm having a bit of trouble implementing the foreign keys in my example. Can anyone help me mount the DAO class?
CidadeDAO.java
public class CidadeDAO {
private final Connection connection;
public CidadeDAO() {
try {
this.connection = new ConnectionFactory().getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void adiciona(Cidade cidade){
String sql= "insert into cidade (nome, cep, id_estado) values (?,?,?)";
PreparedStatement stmt;
try{
stmt= connection.prepareStatement(sql);
stmt.setString(1, cidade.getNome());
stmt.setString(2, cidade.getCep());
// como faço o setString do estado?
stmt.execute();
stmt.close();
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
StateDAO.java
public class EstadoDAO {
private final Connection connection;
public EstadoDAO() {
try {
this.connection = new ConnectionFactory().getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public void adiciona(Estado estado){
String sql= "insert into estado (nome, sigla, regiao) values (?,?,?)";
PreparedStatement stmt;
try{
stmt= connection.prepareStatement(sql);
stmt.setString(1, estado.getNome());
stmt.setString(2, estado.getSigla());
stmt.setString(3, estado.getRegiao());
stmt.execute();
stmt.close();
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
City.java
public class Cidade {
private Long id;
private String nome;
private String cep;
private Estado estado;
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 getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public Estado getEstado() {
return estado;
}
public void setEstado(Estado estado) {
this.estado = estado;
}
}
State.java
public class Estado {
private Long id;
private String nome;
private String sigla;
private String regiao;
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 getSigla() {
return sigla;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
public String getRegiao() {
return regiao;
}
public void setRegiao(String regiao) {
this.regiao = regiao;
}
}