Excluir dados de uma jTable

Olá, pessoal!!

Tenho dados em uma tabela e gostaria de quando apagar os dados de uma linha, estes também fossem apagados do banco de dados.
Gostaria de um exemplo de código de como faço para ao selecionar uma linha da tabela, pegar o id do banco de dados para poder apagar no BD também.

O que já estou fazendo:
Apago a linha da tabela, mas não sei como pegar a pk para apagar na tabela também.

int linha = tabAltera.getSelectedRow();
((ModeloTabelaAlterarVendas)tabelaVendas.getModel()).removeRow(linha);

Quem puder ajudar agradeço!

Tens que ter a referência da lista (ou array) de dados que usaste para popular o JTable. Quando pegares o índice a linha selecionada no JTable, deves também pegar o elemento na lista para descobrir a(s) pk(s) dele e mandar a instrução para o banco. Seria algo do tipo:


//...
private List<Pessoa> pessoasList;
private JTable table;

private void loadAllPessoas() {
    try {
        this.pessoasList = new PessoaBroker().getAllPessoas();
    } catch (Exception) { /*TODO*/ }
}

private void setUp() {
    final String[] header = {"Nome"};
    loadAllPessoas();
    table = new JTable(header, pessoasList);
    //...
}

private void remove() {
    int row = table.getSelectedRow();
    if (row > -1) {
        Pessoa pessoa = pessoasList.get(row);
        try {
            new PessoaBroker().delete(pessoa);
            table.removeRowSelectionInterval(row, row);
            table.clearSelection();
            table.revalidate();
            table.repaint();
       } catch (Exception) { /*TODO*/ }
    }
}
//...

Agora tens de implementar teu broker para executar as tarefas direto na base:


public class PessoaBroker {
    public List<Pessoa> getAllPessoas() {
        //TODO
    }

   public void removePessoa(Pessoa pessoa) {
       //TODO
   }
}

Mesmo conselho de sempre. Isto tudo tem nos tutoriais da Sun.

T+

Valeu!

Obrigada pelas dicas!!