Olá Galera, tudo bem?
Alguem poderia me ajudar, por favor. Estou com um programa onde criei umas tabelas no mysql e esta da seguinte forma?
Na minha interface java tenho o cadastro de cliente onde tenho os seguintes campos: nome; dataNasc; sexo; estadoCivil; rg;cpf; logradouro; numResidencia; complemento; bairro;cidade;cep; uf; email; telFixo; telCelular;. Eu criei as tabelas ENDERECO, CIDADE E ESTADO.
Agora minha duvida é. Como Faço para pegar os dados como o endereço do cliente e distribuir nas tabelas?
Vou adicionar as tabelas.
CREATE TABLE IF NOT EXISTS `dbfit`.`cliente` (
`id_cliente` INT(11) NOT NULL AUTO_INCREMENT,
`cli_nome` VARCHAR(100) NOT NULL,
`cli_data_nasc` DATE NULL DEFAULT NULL,
`cli_sexo` ENUM('M', 'F') NULL DEFAULT NULL,
`cli_estado_Civil` ENUM('Solteiro', 'Casado', 'Separado', 'Divorciado', 'Viuvo', 'Uniao Estavel') NULL DEFAULT NULL,
`cli_rg` CHAR(9) NULL DEFAULT NULL,
`cli_cpf` CHAR(11) NULL DEFAULT NULL,
`endereco_end_id` int(11) NOT NULL,
`e_mail` varchar(30) NOT NULL,
`cli_telefone_fixo` varchar(10) NOT NULL,
`cli_telefone_movel` varchar(11) NOT NULL,
PRIMARY KEY (`id_cliente`),
UNIQUE KEY `endereco_end_id`(`endereco_end_id`)
)DEFAULT CHARACTER SET = utf8; -- configuração de caracteres padrão na tabela
CREATE TABLE IF NOT EXISTS `cidade` (
`id_cid` int(11) NOT NULL AUTO_INCREMENT,
`cid_nome` varchar(20) DEFAULT NULL,
`estado_est_id` int(11) NOT NULL,
PRIMARY KEY (`id_cid`),
UNIQUE KEY `estado_est_id` (`estado_est_id`)
) DEFAULT CHARACTER SET = utf8;
CREATE TABLE IF NOT EXISTS `endereco` (
`id_end` int(11) NOT NULL AUTO_INCREMENT,
`end_bairro` varchar(20) DEFAULT NULL,
`end_numero` varchar(4) DEFAULT NULL,
`end_rua` varchar(50) DEFAULT NULL,
`end_complemento` varchar(50) DEFAULT NULL,
`cidade_cid_id` int(11) NOT NULL,
PRIMARY KEY (`id_end`),
UNIQUE KEY `cidade_cid_id` (`cidade_cid_id`)
) DEFAULT CHARACTER SET = utf8; -- configuração de caracteres padrão na tabela
CREATE TABLE IF NOT EXISTS `estado` (
`est_id` int(11) NOT NULL AUTO_INCREMENT,
`est_descricao` varchar(255) DEFAULT NULL,
`est_sigla` varchar(255) DEFAULT NULL,
PRIMARY KEY (`est_id`)
) DEFAULT CHARACTER SET = utf8; -- configuração de caracteres padrão na tabela
Comecei a fazer o insert, mas travei por não saber continuar.
public void Cadastrar(Cliente cliente) {
con.Connection();
try {
PreparedStatement pst = con.con.prepareStatement("INSERT INTO cliente (cli_nome,cli_data_nasc,cli_sexo,cli_estado_Civil,cli_rg,cli_cpf,endereco_end_id,e_mail,cli_telefone_fixo,cli_telefone_movel) VALUES(?,?,?,?,?,?,?,?,?,?)");
pst.setString(1, cliente.getNome());
pst.setString(2, cliente.getDataNasc());
pst.setString(3, cliente.getRg());
pst.setString(4, cliente.getSexo());
pst.setString(5, cliente.getCpf());
pst.setString(6, cliente.getEstadoCivil());
pst.setString(7, cliente.getLogradouro());
pst.setString(8, cliente.getCidade());
pst.setString(9, cliente.getNumResidencia());
pst.setString(10, cliente.getUf());
pst.setString(11, cliente.getComplemento());
pst.setString(12, cliente.getBairro());
pst.setString(13, cliente.getCep());
pst.execute();
JOptionPane.showMessageDialog(null, " Dados Salvos com Sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, " Erro ao Salvar!\n " + ex);
}
con.closeConnection();
}
Desde de já agradeço pela atenção e ajuda de todos.