Preencher Jtable?

Estou desenvolvendo um pequeno sistema desktop para biblioteca, estou com uma dificuldade em preencher uma tabela de um determinado formulário de consulta.

No banco de dados tenho uma tabela chamada tblemprestimo, onde esta armazenado o id do leitor e do livro, data do lançamento, data emprestimo, data de devoluçao.

Tenho uma classe chamada emprestimos.java, que tem os atributos referente ao emprestimos, e uma classe Pessoas.java com atributos referente a leitores e outra Acervo.java com atributos referente a livro.

Como na tabela emprestimo so tenho o id do leitor e do livro, não consigo capturar o valor e mandar para a Jtable da tela de consulta. ajuda eu ai
segue os codigos:

classe emprestimo, ela possui o metodo de consultar emprestimos:

public void consultarEmprestimos() {
    // o metodo deve ter algum retorno, mais nao consegui pensar capturar os dados
    try {
        String sql = "select e.id, p.nome, l.titulo, e.data_lancamento, e.data_retirada, e.data_retorno from basebiblioteca.tblemprestimo e join basebiblioteca.tblpessoas p on p.id = e.id_pessoa join basebiblioteca.tblobras l on l.id = e.id_livro where ativo = 'S'";

        con = Conexao.getconection();
        stm = con.prepareStatement(sql);
        rs = stm.executeQuery();

        while (rs.next()) {
            
 // não conseguir pensar em uma logica para armazenar a captura
        }

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro na leitura de dados", "Erro consulta emprestimo", JOptionPane.ERROR_MESSAGE);

    } finally {
        Conexao.fecharConexao(con, stm, rs);
    }

    return a;
}

classe Pessoas:

public class Pessoas {

    Connection con = null;
    PreparedStatement stm = null;
    ResultSet rs = null;

   private String nome, nacionalidade, estado_civil, identidade, orgao_expeditor, cpf, endereco, cidade, estado, celular, cont_residencia, telefone, email;
   private int identificador;
    // metodos getters e setters
}

classe Acervo.java:

public class Acervo {

   // atributos desta classe
   Connection con;
   PreparedStatement stm;
   ResultSet rs;

    private int id;
    private String titulo, autor, ano, editora, categoria;

    // metodos getter() e setter()
}

Pesquise por TableModel.

Aqui no site se não me engano tem uma resposta assim, será que poderia indicar ao usuário?

@Dragoon, não achei (a pesquisa do guj tá bem abrangente e eu não aprendi a usar ainda), mas tem esse tutorial que é bacana

1 curtida

blz

@Jederson_Andre tem o tutorial logo no link tutorial

1 curtida

Da maneira que você está implementando você pode fazer da seguinte maneira, segue abaixo:

public void consultarEmprestimos() {
    DefaultTableModel table = (DefaultTableModel) NomeDaSuaJTable.getModel();
    jTableTelas.setNumRows(0);
    try {
        String sql = "select e.id, p.nome, l.titulo, e.data_lancamento, e.data_retirada, e.data_retorno from basebiblioteca.tblemprestimo e join basebiblioteca.tblpessoas p on p.id = e.id_pessoa join basebiblioteca.tblobras l on l.id = e.id_livro where ativo = 'S'";

        con = Conexao.getconection();
        stm = con.prepareStatement(sql);
        rs = stm.executeQuery();

        while (rs.next()) {
            table.addRow(new Object[]{
                    stm.resultset.getString("ID"),
                    stm.resultset.getString("NOME")});
        }

    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro na leitura de dados", "Erro consulta emprestimo", JOptionPane.ERROR_MESSAGE);

    } finally {
        Conexao.fecharConexao(con, stm, rs);
    }
}
2 curtidas

Pessoal vo colocar no meu Google Driver, se puderem dar uma olhada, me digam o que acharam.
Depois que olharem e me digam se estou no caminha certo, com relação ao desenvolvimento.
obs: ainda sou iniciante em java, peguem leve, kkkkk
usei banco mysql.

link de acesso:
https://drive.google.com/open?id=0B0EMerCjFrL-LTVBbmhXOHluVkk