Dúvida sobre pegar dados de jTable e inserir no Banco de Dados

Bom dia.

Estou com a seguinte dúvida: eu quero pegar todos os dados de um jTable e inserir no meu banco de dados, só que não tenho ideia de como fazer. Agradeço desde já pela atenção.

Bom… eu sugiro que você pegue todos os dados da sua jTable, modele uma entidade e… persista no banco.

1 curtida

Eu sugiro que, primeiramente, você coloque um título decente: dúvida é extremamente genérico e não ajuda em nada a entender o que precisa.
Quanto ao problema em si, faça como o @FearX disse.

Essa sua JTable está usando o model DefaultTableModel? Ou vc está usando uma implementação própria baseada na AbstractTableModel?

Tá com o DefaultTableModel, quando iniciei o sistema eu não conhecia o AbstractTableModel.

Nunca é tarde para aprender a usar o AbstractTableModel. É muito mais fácil de escrever, mais rápido e melhora também caso precise dar manutenção mais adiante.

Usando DefaultTableModel, vc pode começar com um código assim:

DefaultTableModel model = (DefaultTableModel) table.getModel();
Vector dataVector = model.getDataVector();
Object[] array = dataVector.toArray();

Onde Object[] array conterá os dados da sua tabela. O problema dessa forma, eh trabalhar diretamente com Object, mas a informação está lá e vc poderá usá-la para persistir no banco de dados.

Pesquisei sobre o próprio TableModel e consegui criar.

2 curtidas

Resolveu o problema inicial? Ou só conseguiu criar o TableModel?

só criei o meu próprio tablemodel

Alguém dá uma ajuda?

Olá amigo, segue um exemplo abaixo de como recuperar os dados, note o método getValue, o primeiro parâmetro é para indicar a linha, que nesse caso é a que estiver selecionada, e o segundo é a coluna, nesse caso, ele vai pegar da linha selecionada pelo mouse, a informação da primeira “Célula” ou “Coluna”, vc pode tentar implementar um for pra percorrer todas as colunas para capturar todas as informações e salvá-las no seu objeto bean e passar para seu objeto dao gravar no banco.

String value = tabela.getValueAt(tabela.getSelectedRow(), 0).toString()

Alguém ajuda?

Olá @Luiz_Henrique22, o exemplo acimou não funcionou?

Não consegui relacionar.