Olá, Pessoal,
Estou com a seguinte dúvida... Preciso dar um insert em duas tabelas dentro do mesmo método. Esse método recebe um cliente como parametro e esse objeto do tipo cliente possui um atributo do tipo endereco.
Porem, no bd, tenho duas tabelas diferentes, uma para cliente e outra para endereço. Estou usando DAO e PreparedStatment.
Segue meu código…
public void inserirItem(DTO dto) throws DAOException {
if(dto != null){
Cliente cliente = (Cliente) dto;
String sql = "INSERT INTO cliente (nomeCompleto, razaoSocial, cpf, cnpj, " +
"identidade, dataNascimento, tipoPessoa) VALUES (?,?,?,?,?,?,?)";
try{
this.conexao = ConnectionFactory.getConnection();
PreparedStatement ps = conexao.prepareStatement(sql);
ps.setString(1, cliente.getNomeCompleto());
ps.setString(2, cliente.getRazaoSocial());
ps.setString(3, cliente.getCpf());
ps.setString(4, cliente.getCnpj());
ps.setString(5, cliente.getIdentidade());
ps.setString(6, cliente.getDataNascimento());
ps.setString(7, cliente.getTipoPessoa());
ps.executeUpdate();
}catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null, "ClassNotFoundException");
cnfe.printStackTrace();
}catch(SQLException sqle){
sqle.printStackTrace();
JOptionPane.showMessageDialog(null, "SQLException: " + sqle.getMessage());
}finally{
try{
this.conexao.close();
}catch(SQLException sqle){
sqle.printStackTrace();
}
}
}
… ou seja, dentro desse código eu preciso dar um outro Insert e só commitar no final.
Obrigado!