Tutorial de persistência usando JDBC

4 respostas
jaissonduarte

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

4 Respostas

Hebert_Coelho

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

jaissonduarte

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

ViniGodoy

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()?

jaissonduarte

ViniGodoy:
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()?

que vesgo :smiley:
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 :smiley:

Criado 6 de abril de 2012
Ultima resposta 6 de abr. de 2012
Respostas 4
Participantes 3