Puxar dado do banco e passar para a jTable

Galera eu de novo :/. Bom desta vez não estou conseguindo pegar os dado de uma tabela no MySQL, e passar para um jTable. Segue os códigos:

A Parte do meu form onde a tabela está: {

private void configurarFormulario() 

    this.setTitle("Pesquisar Livro");
    this.setResizable(false);
    this.setMaximizable(false);
    this.setIconifiable(false);
    this.setClosable(true);

    ButtonGroup bg = new ButtonGroup();
    bg.add(rdbCpf);
    bg.add(rdbNome);
    rdbNome.setSelected(true);
    configurarTabela();
    

}

private void configurarTabela() {
    DefaultTableModel m = new DefaultTableModel() {
        @Override
        public boolean isCellEditable(int row, int column) {
            return false;
        }
    };
    
    m.addColumn("Id");
    m.addColumn("Nome");
    m.addColumn("CPF");
    m.addColumn("Entrada/Saída");
    tabResultados.setModel(m);
    
}


private void preencherTabela(List<Visita> lista){
    
    if (lista != null){
        configurarTabela();
        DefaultTableModel m = (DefaultTableModel)tabResultados.getModel();
        for(Visita edit : lista){
            m.addRow(new Object[]{
                edit.getId(), 
                }
            );
        }
        tabResultados.setModel(m);
    }
    
}

}


Como está configurado meu banco de Dados:

create table visitas(
id int auto_increment ,
cpf double,
nome varchar(40),
entre varchar(10),


primary key(id)

);


Parte da minha classe controladora das VISITAS ( VisitaDAO):

 public List<Visita> listar() {
    try {
        final String SQL = "select * from visitas order by id";
        cmd = con.prepareStatement(SQL);
        ResultSet rs = cmd.executeQuery();

        List<Visita> lista = new ArrayList();
        while (rs.next()) {
            Visita livro = new Visita();
            livro.setId(rs.getInt("id"));
            livro.setNome(rs.getString("titulo"));
            livro.setCpf(rs.getInt("cpf"));
            
            lista.add(livro);
        }
        return lista;
    } catch (SQLException e) {
        System.out.println("ERRO: " + e.getMessage());
        return null;
    } finally {
        Conexao.desconectar(con);
    }
}


public List<Visita> pesquisarPorNome(String nome) {
    try {
        final String SQL = "select * from visitas where titulo like ? order by nome";
        cmd = con.prepareStatement(SQL);
        cmd.setString(1,"%" + nome + "%");
        
        ResultSet rs = cmd.executeQuery();
        
        List<Visita> lista = new ArrayList();
        while(rs.next()){
            Visita livro = new Visita();
            livro.setId(rs.getInt("id"));
            livro.setNome(rs.getString("nome"));
            livro.setCpf(rs.getInt("cpf"));
            
            lista.add(livro);
        }
        return lista;
    } catch (SQLException e) {
        System.out.println("ERRO: " + e.getMessage());
        return null;
    } finally {
        Conexao.desconectar(con);
    }
}    

public List<Visita> pesquisarPorId(String cpf) {
    try {
        final String SQL = "select * from visitas where id like ? order by cpf";
        cmd = con.prepareStatement(SQL);
        cmd.setString(1, cpf);
        
        ResultSet rs = cmd.executeQuery();
        
        List<Visita> lista = new ArrayList();
        while(rs.next()){
            Visita livro = new Visita();
            livro.setId(rs.getInt("id"));
            livro.setNome(rs.getString("nome"));
            livro.setCpf(rs.getInt("cpf"));
            
            lista.add(livro);
        }
        return lista;
    } catch (SQLException e) {
        System.out.println("ERRO: " + e.getMessage());
        return null;
    } finally {
        Conexao.desconectar(con);
    }
}

E aqui é uma imagem que mostra como ficou minha tabela quando executo o programa:

http://prntscr.com/gsgfkk

Olá, tá, mas em que parte do código vc estaria chamando umas das buscas da DAO para popular a jTable?

Está parte preenche a tabela:

private void preencherTabela(List<Visita> lista){

if (lista != null){
    configurarTabela();
    DefaultTableModel m = (DefaultTableModel)tabResultados.getModel();
    for(Visita edit : lista){
        m.addRow(new Object[]{
            edit.getId(), 
            }
        );
    }
    tabResultados.setModel(m);
}

}

e nesta preenche com a função listar:
private void txtPesquisarKeyReleased(java.awt.event.KeyEvent evt) {
String chave = txtPesquisar.getText();

    if ( chave.isEmpty()){
        preencherTabela(new VisitaDAO().listar());
    }else{

        if (rdbNome.isSelected()){
           preencherTabela(new VisitaDAO().pesquisarPorId(chave));
        }else{
           preencherTabela(new VisitaDAO().pesquisarPorId(chave));
        }
        
    }
    }

E está é a função Listar dentro da DAO:

public List<Visita> listar() {
    try {
        final String SQL = "select * from visitas order by id";
        cmd = con.prepareStatement(SQL);
        ResultSet rs = cmd.executeQuery();

        List<Visita> lista = new ArrayList();
        while (rs.next()) {
            Visita livro = new Visita();
            livro.setId(rs.getInt("id"));
            livro.setNome(rs.getString("titulo"));
            livro.setCpf(rs.getInt("cpf"));
            livro.setId_entre(rs.getInt("entre"));
        
            lista.add(livro);
        }
        return lista;
    } catch (SQLException e) {
        System.out.println("ERRO: " + e.getMessage());
        return null;
    } finally {
        Conexao.desconectar(con);
    }
}

Eita, vc está usando keyReleased pra efetuar a busca? ou seja, ao soltar uma tecla, ai verifica depois se o texto é vazio? mas e como vc está testando pela tela?

No ConfigurarFormulario eu chamo a função preencher tabela:

private void configurarFormulario() {
    this.setTitle("Pesquisar Livro");
    this.setResizable(false);
    this.setMaximizable(false);
    this.setIconifiable(false);
    this.setClosable(true);

    ButtonGroup bg = new ButtonGroup();
    preencherTabela(new VisitaDAO().listar());
    bg.add(rdbCpf);
    bg.add(rdbNome);
    rdbNome.setSelected(true);
    configurarTabela();
    
    

}

blz, e este método configurarFormulario() é chamado onde?

Aqui:

public FormPesquisarVisita() {
    initComponents();
    configurarFormulario();
}

E não ocorre erro no console?
Debuga pra ver se vem dados na hora do preencherTabela.

Aqui vc estaria apenas colocando o ID na tabela.
Outra coisa, tenta não usar DefaultTableModel, implementa seu tableModel

é pq tenho um projeto igual só que pra uma livraria, e deste jeito funcionou perfeitamente, sem falar que meu professor ensinou desta forma, e ele quer q façamos assim :confused:

console apresenta isso:

ant -f C:\Users\Alexandre\Desktop\ProjetoPortaria -Dnb.internal.action.name=run run
init:
Deleting: C:\Users\Alexandre\Desktop\ProjetoPortaria\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Alexandre\Desktop\ProjetoPortaria\build\built-jar.properties
Compiling 1 source file to C:\Users\Alexandre\Desktop\ProjetoPortaria\build\classes
Note: C:\Users\Alexandre\Desktop\ProjetoPortaria\src\controller\VisitaDAO.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
compile:
run: