Insert SQL e preencher a JTable

Boa noite pessoal =)

Tenho uma tabela no banco contagem, quero depois de cada insert ele atualize grade da Jtable fiz de uma mais ai tenho que implementar código na Interface, quero poder fazer direto pelo ContagemDAO que onde fica todas instruções SQL.

// Modelo Tabela Contagem.

package br.com.vestuario.tabela;

import br.com.vestuario.modelo.Contagem;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class TabelaContagem extends AbstractTableModel {

private final int COL_ID = 0;
private final int COL_QUANTIDADE = 1;
private final int COL_BARRAS = 2;

private List<Contagem> contagens;

public TabelaContagem() {
    contagens = new ArrayList();
}

public TabelaContagem(List<Contagem> lista) {
    this();
    contagens.addAll(lista);
}

public int getRowCount() {
    return contagens.size();
}

public int getColumnCount() {
    return 4;
}

@Override
public String getColumnName(int column) {
    //qual o nome da coluna
    if (column == COL_ID) {
        return "ID";
    } else if (column == COL_BARRAS) {
        return "barra";
    } else if (column == COL_QUANTIDADE) {
        return "quantidade";
    }

    return "";
}

@Override
public Class getColumnClass(int columnIndex) {
    if (columnIndex == COL_ID) {
        return String.class;
    } else if (columnIndex == COL_BARRAS) {
        return String.class;
    } else if (columnIndex == COL_QUANTIDADE) {
        return String.class;
    }
    return null;
}

public Object getValueAt(int rowIndex, int columnIndex) {
    Contagem c = contagens.get(rowIndex);
    if (columnIndex == COL_ID) {
        return c.getId();
    } else if (columnIndex == COL_BARRAS) {
        return c.getBarras();

    } else if (columnIndex == COL_QUANTIDADE) {
        return c.getQuantidade();

    }
    return "";
}

@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
    //no nosso caso todas vão ser editáveis, entao retorna true pra todas
    return true;
}

@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
    Contagem c = contagens.get(rowIndex);
    if (columnIndex == COL_ID) {
        c.setId(Integer.valueOf(COL_ID));

    } else if (columnIndex == COL_BARRAS) {
        c.setBarras(aValue.toString());

    } else if (columnIndex == COL_QUANTIDADE) {
        c.setQuantidade(Integer.valueOf(COL_QUANTIDADE));
    }
    fireTableDataChanged();
}

}

// classe Contagem Modelo

public class Contagem {

private int id;
private int quantidade;
private String barras;
private String produto;

/**
 * @return the id
 */
public int getId() {
    return id;
}

/**
 * @param id the id to set
 */
public void setId(int id) {
    this.id = id;
}

/**
 * @return the quantidade
 */
public int getQuantidade() {
    return quantidade;
}

/**
 * @param quantidade the quantidade to set
 */
public void setQuantidade(int quantidade) {
    this.quantidade = quantidade;
}

/**
 * @return the barras
 */
public String getBarras() {
    return barras;
}

/**
 * @param barras the barras to set
 */
public void setBarras(String barras) {
    this.barras = barras;
}

}

// ContagemDAO

public class ContagemDAO {

ConnectionFactory conecta = new ConnectionFactory();

public ContagemDAO() {

    // Abre conexão com o Banco de Dados.
    conecta.conexao();
}

public void incluir(Contagem c) {

    try {

        String sql = "insert into contagem (quantidade, barras) values(?,?)";
        PreparedStatement pst = conecta.conn.prepareStatement(sql);
        pst.setInt(1, c.getQuantidade());
        pst.setString(2, c.getBarras());

        pst.execute();

// JOptionPane.showMessageDialog(null, “Incluído”);
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, “Erro na Inclusão: \n” + erro.getMessage());
}

}

public void atualizar(Contagem ccc) {
    try {
        String sql = "update contagem set id=?, quantidade=?, barras=? where id=?";
        PreparedStatement pst = conecta.conn.prepareStatement(sql);
        pst.setInt(1, ccc.getId());
        pst.setInt(2, ccc.getQuantidade());
        pst.setString(3, ccc.getBarras());
        pst.setInt(4, ccc.getId());

        pst.execute();

        //    JOptionPane.showMessageDialog(null, "Atualizado com Sucesso");
    } catch (SQLException erro) {
        JOptionPane.showMessageDialog(null, "Erro na Alteração: \n \n" + erro.getMessage());

    }

}

// pesquisa no banco
public List<Contagem> psContagem(String n) {

    try {

        String sql = "select * from contagem where barras like '%" + n + "%'";

// String sql = “SELECT c.id, c.quantidade, c.barras, p.nome from contagem c, produto p where c.barras=p.barras like '%” + n + “%’”;

        PreparedStatement pst = conecta.conn.prepareStatement(sql);
        List<Contagem> resultados = new ArrayList<Contagem>();
        ResultSet rs = pst.executeQuery();

        while (rs.next()) {
            Contagem cc = new Contagem();
            cc.setId(rs.getInt("id"));
            cc.setQuantidade(rs.getInt("quantidade"));
            cc.setBarras(rs.getString("barras"));

// ps.setBarras(rs.getString(“barras”));
// ps.setNome(rs.getString(“nome”));
// ps.setNumero(rs.getInt(“numero”));
// ps.setEstoque(rs.getInt(“estoque”));
resultados.add(cc);
}
return resultados;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, “Erro Erro ao buscar” + e.getMessage());
}
return null;
}

public List<Contagem> pescBarrasContagem(String b) {

    try {

        String sql = "select * from contagem where barras like '%" + b + "%'";

// String sql = “SELECT c.id, c.quantidade, c.barras, p.nome from contagem c, produto p where c.barras=p.barras like’%” + b + “%’”;

        PreparedStatement pst = conecta.conn.prepareStatement(sql);
        List<Contagem> resultados = new ArrayList<Contagem>();
        ResultSet rs = pst.executeQuery();

        while (rs.next()) {
            Contagem ps = new Contagem();
            ps.setId(rs.getInt("id"));
            ps.setQuantidade(rs.getInt("quantidade"));
            ps.setBarras(rs.getString("barras"));
            //ps.setProduto(rs.getString("produto"));

            resultados.add(ps);
        }
        return resultados;
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, "Erro Erro ao buscar" + e.getMessage());
    }
    return null;

}

public void encherTabela(Contagem mn) {
    try {
        String sql = "select * from produto JOIN contagem on contagem.barras=produto.barras";
        PreparedStatement p = conecta.conn.prepareStatement(sql);
        List<Contagem> resultados = new ArrayList<Contagem>();
        ResultSet rr = p.executeQuery();
        while (rr.next()) {
            Contagem w = new Contagem();
            w.setId(rr.getInt("id"));
            w.setQuantidade(rr.getInt("quantidade"));
            w.setBarras(rr.getString("barras"));
            
            resultados.add(w);

        }
    } catch (Exception e) {
    }

}

public void excluir(Contagem cnn) {

    try {
        String sql = "delete from contagem where id=? ";
        PreparedStatement pst = conecta.conn.prepareStatement(sql);
        pst.setInt(1, cnn.getId());
        pst.execute();

        //JOptionPane.showMessageDialog(null, "Excluido com Sucesso");
    } catch (SQLException erro) {
        JOptionPane.showMessageDialog(null, "Erro na Exclusão: \n \n" + erro.getMessage());

    }

}

}

//botao incluir
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

        try {
            ContagemDAO dao = new ContagemDAO();
            Contagem cc = new Contagem();
            cc.setQuantidade(Integer.parseInt(txtQuantidade.getText()));
            cc.setBarras(txtCodBarras.getText());

            dao.incluir(cc);

Toda vez que você abre o form a sua jTable atualiza?

Atualiza, eu tenho um formulário de pesquisa que quando eu pesquiso ele vai preenchendo a jTable com os resultados, mais não sabendo passar para meu modelo de tabela quando faço o insert para ir atualizando igual na pesquisa, porque na pesquisa tenho um txtCaixaPesquisa.getText sendo fica fácil. Mas o insert não consegui.

Vc tem um método pra preencher a tabela, não tem? Então, se o seu form atualiza quando vc abre, pega esse método que vc usou pra preencher e usa de novo depois do insert