oi pessoal,
vocês conhecem ou tem algum tutorial de persistência com JDBC, até agora só sei fazer CRUD com tabelas 1 x N, se alguém souber como fazer com N x N, ou tiver um tutorial completo de persistencia com tabelas 1 x N, e N x N,
valeu
Tutorial de persistência usando JDBC
4 Respostas
Cara, eu não tenho tutorial desse tipo, mas qual a dificuldade?
Num relacionamento NxN é uma boa criar uma tabela no meio do caminho. Então você teria algo do tipo:
PESSOA
PESSOA_TEM_CACHORROS
CACHORRO
E na hora de salvar, você iria inserir na pessoa e pegar o ID da pessoa, inserir na cachorro e pegar o id do cachorro.
Por ultimo iria inserir na pessoa tem cachorros o id da pessoa e id do cachorro.
=D
olha só o que tenho até agora:
ai meu método de adicionar venda_produto
public void adicionarVendaProduto(VendaProduto vp) throws ClassNotFoundException, SQLException {
String sql = "INSERT INTO venda_produto (codigo_venda, codigo_produto) VALUES(?, ?, ?, ?) ";
PreparedStatement ps = Conexao.getConexao().prepareStatement(sql);
//código é gerado manualmente pelo banco de dados
ps.setInt(1, vp.getCodigo());
ps.setInt(2, vp.getCodigo());
ps.setInt(3, vp.getQuantia());
ps.setDouble(4, vp.getValor());
ps.execute();
}
e meu método que adiciona na classe que controla a tela de VendaProduto
public void adicionar() {
try {
Produto produto = (Produto)tela.ccProduto.getSelectedItem();
controleModelo.adicionarVendaProduto(venda, produto);//o erro esta nessa linha, ele pede o método adicionarVendaProduto, //sei que meu método só tem um parâmetro, e aqui estou mandando dois, ai eu não sei como fazer
JOptionPane.showMessageDialog(null, "Inserção realizada com sucesso!");
atualizaOpcoesProdutos();//pois sai o que eu adicionei
atualizarTabela();//pq tem que mostrar o que adicionei
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Problemas com a inserção!");
System.out.println("Erro: " + ex.getMessage());
}
}
para maiores detalhes
http://www.javacomnesquiki.xpg.com.br/venda.zip
Na linha 05 e na 06 você está usando o mesmo método getCodigo().
Não deveria ser na linha 05 um vp.getCodigo() e na 06 um vp.getProduto().getCodigo()?
Na linha 05 e na 06 você está usando o mesmo método getCodigo().Não deveria ser na linha 05 um
vp.getCodigo()e na 06 umvp.getProduto().getCodigo()?
que vesgo 
teria que ficar assim:
public void adicionarVendaProduto(VendaProduto vp) throws ClassNotFoundException, SQLException {
String sql = "INSERT INTO venda_produto (codigo_venda, codigo_produto) VALUES(?, ?, ?, ?) ";
PreparedStatement ps = Conexao.getConexao().prepareStatement(sql);
//código é gerado manualmente pelo banco de dados
ps.setInt(1, vp.getVenda().getCodigo());
ps.setInt(2, vp.getProduto().getCodigo());
ps.setInt(3, vp.getQuantia());
ps.setDouble(4, vp.getValor());
ps.execute();
}
viu por isso que eu preciso de um tuto 