Preciso de ajuda com Swing integrado a SQL
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
Curtidas 0