Olá pessoal, desde já agradeço a atenção de todos.
Estou desenvolvendo uma aplicação em JAVA e no cadastro de um cliente preciso salvar o cliente e o endereço, em uma mesma view.
Minhas tabelas estão construidas desta forma:
TBENDEREÇO
create table TBENDERECO(
endereco_id int primary key auto_increment,
cep varchar(20) not null,
bairro varchar(80) not null,
rua varchar(80) not null,
uf varchar(80) not null,
cidade varchar(80) not null,
complemento varchar(180) not null
);
TBCLIENTE
create table TBCLIENTE(
cliente_id int primary key auto_increment,
nomeCli varchar(50) not null,
telCli varchar(50) not null,
emailCli varchar(50),
endereco_id int not null,
foreign key(endereco_id) references TBENDERECO(endereco_id),
dataCriacao timestamp default current_timestamp
);
Gostaria de saber como posso fazer um insert que atenda as duas tabelas em uma única tela.
Meus inserts estão construidos das seguintes maneiras:
ENDERECO DAO
public boolean addEnd(EnderecoModel em) throws SQLException {
String SQL = "INSERT INTO TBUSUARIO(CEP, BAIRRO, RUA, UF, CIDADE, COMPLEMENTO) VALUES(?, ?, ?, ?, ?, ?)";
try {
ps = connection.prepareStatement(SQL);
ps.setString(1, em.getCep());
ps.setString(2, em.getBairro());
ps.setString(3, em.getRua());
ps.setString(4, em.getUf());
ps.setString(5, em.getCidade());
ps.setString(6, em.getComplemento());
ps.execute();
System.out.println("Endereço Salvo Com Sucesso!!!");
return true;
} catch (SQLException error) {
System.out.println("Erro ao inserir: " + error.getMessage());
return false;
} finally {
connection.close();
}
}
CLIENTE DAO
public boolean addCli(ClientModel cm) throws SQLException {
String SQL = "INSERT INTO TBUSUARIO(NOMECLI, TELCLI, EMAILCLI, ENDERECO) VALUES(?, ?, ?, ?)";
try {
ps = connection.prepareStatement(SQL);
ps.setString(1, cm.getNomeCli());
ps.setString(2, cm.getTelCli());
ps.setString(3, cm.getEmailCli());
ps.setInt(4, cm.getEndereco().getEndereco_id());
ps.execute();
System.out.println("Cliente Cadastrado Com Sucesso!!!");
return true;
} catch (SQLException error) {
System.out.println("Erro ao Cadastradar: " + error.getMessage());
return false;
} finally {
connection.close();
}
}
VIEW
FINAL
Qual melhor forma de criar um método que faça o que preciso ? Como criar o mesmo ?