Preciso de ajuda com Swing integrado a SQL
19/11/2019
0
Estou estudando Java integrado a BD MySQL. Preciso de ajuda para preencher algumas tabelas utilizando a interface, sendo que:
Meu BD tem 3 tabelas: Funcionario, Tipo e FuncionarioTipo;
Já fiz um JFrame que associado ao DAO, permite que eu utilize as operações do CRUD:
DAOFuncionario:
Tela Funcionario:
https://i.imgur.com/EZBdsoV.png
O problema é que eu preciso de ao mesmo tempo em que crio um Funcionario no BD, também preciso criar dados nas tabelas FuncionarioTipo e Tipo.
Existe alguma maneira de fazer isso?
DAOTipo:
DAOFuncionarioTipo:
Imagem do DEE:
https://i.imgur.com/NJDe0sN.png
Meu BD tem 3 tabelas: Funcionario, Tipo e FuncionarioTipo;
Já fiz um JFrame que associado ao DAO, permite que eu utilize as operações do CRUD:
DAOFuncionario:
public void save(Funcionario f, Tipo t, FuncionarioTipo ft){ if(f.getCodFuncionario() != null){ update(f); } else { create(f); } } public boolean create(Funcionario f){ String sql = "insert into funcionario (nome, cpf, rg, usuario, senha) values (?, ?, ?, ?, ?);"; PreparedStatement stmt = null; try{ stmt = con.prepareStatement(sql); stmt.setString(1, f.getNome()); stmt.setString(2, f.getCpf()); stmt.setString(3, f.getRg()); stmt.setString(4, f.getUsuario()); stmt.setString(5, f.getSenha()); stmt.executeUpdate(); JOptionPane.showMessageDialog(null, "Funcionário criado com sucesso.", null, JOptionPane.INFORMATION_MESSAGE); return true; } catch (SQLException ex){ System.err.println(ex); JOptionPane.showMessageDialog(null, "Erro ao criar funcionário.", null, JOptionPane.ERROR_MESSAGE); return false; } finally { ConnectionFactory.closeConnection(con, stmt); } }
Tela Funcionario:
https://i.imgur.com/EZBdsoV.png
O problema é que eu preciso de ao mesmo tempo em que crio um Funcionario no BD, também preciso criar dados nas tabelas FuncionarioTipo e Tipo.
Existe alguma maneira de fazer isso?
DAOTipo:
public void save(Tipo t){ if(t.getCodTipo() != null){ update(t); } else { create(t); } } public boolean create(Tipo t){ String sql = "insert into tipo (tipo) values (?);"; PreparedStatement stmt = null; try{ stmt = con.prepareStatement(sql); stmt.setString(1, t.getTipo()); stmt.executeUpdate(); JOptionPane.showMessageDialog(null, "Tipo criado com sucesso.", null, JOptionPane.INFORMATION_MESSAGE); return true; } catch (SQLException ex){ System.err.println(ex); JOptionPane.showMessageDialog(null, "Erro ao criar tipo.", null, JOptionPane.ERROR_MESSAGE); return false; } finally { ConnectionFactory.closeConnection(con, stmt); } }
DAOFuncionarioTipo:
public void save(FuncionarioTipo ft){ if(ft.getCodFuncionarioTipo() != null){ update(ft); } else { create(ft); } } public boolean create(FuncionarioTipo ft){ String sql = "insert into funcionario_tipo (codfuncionario, codtipo) values (?, ?);"; PreparedStatement stmt = null; try{ stmt = con.prepareStatement(sql); stmt.setInt(1, ft.getFuncionario().getCodFuncionario()); stmt.setInt(2, ft.getTipo().getCodTipo()); stmt.executeUpdate(); return true; } catch (SQLException ex){ System.err.println(ex); return false; } finally { ConnectionFactory.closeConnection(con, stmt); } }
Imagem do DEE:
https://i.imgur.com/NJDe0sN.png
Hudson Carvalho
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)