Dúvida AbstractTableModel (método Add)?

Estou iniciando com AbstractTableModel, criei um form de exemplo onde já implementei boa parte do código, minha dúvida está na hora de pegar a lista que recebo do banco na classe DAO e passar para o meu método Add do meu modelo da tabela para ser mostrado no JTable.

Abaixo as classes:

Classe modelo da JTable:

package modelo;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class ProdutosTableModel extends AbstractTableModel{

    private final List<ProdutosBin> linhas = new ArrayList<>();
    private final String[] colunas = {"Codigo", "Descricao"};
    
    @Override
    public String getColumnName(int column){
        return colunas[column];
    }
    
    @Override
    public int getRowCount() {
        return linhas.size();
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public Object getValueAt(int l, int c) {
    
        switch(c){
            case 0: return linhas.get(l).getCodigo();
            case 1: return linhas.get(l).getDescricao();
        }
        return null;
    }
    
    public void addLinha(ProdutosBin p){
       
       linhas.add(p);
       fireTableRowsInserted(linhas.size() -1, linhas.size() -1);
    }
    
}

Classe DAO:

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import modelo.ProdutosBin;

public class ProdutosDao {
    
    public List<ProdutosBin> consultaProduto (ProdutosBin pb){
        
        Connection con = Conexao.getConnection();
        PreparedStatement stmt  = null;
        ResultSet rs = null;
        List<ProdutosBin> lista = new ArrayList<>();
        
        try {
            stmt = con.prepareStatement("SELECT CODITPROD, DESCRICAO FROM CAD_ITPROD WHERE CODITPROD = ?");
            
            stmt.setInt(1,pb.getCodigo());
            
            rs = stmt.executeQuery();
            
            while (rs.next()){
                
                ProdutosBin p = new ProdutosBin ();
                
                p.setCodigo(rs.getInt("CODITPROD"));
                p.setDescricao(rs.getString("DESCRICAO"));
                
                lista.add(p);
                
            }
            
        } catch (SQLException ex) {
            
            JOptionPane.showMessageDialog(null, " Ororreu um Erro: " + ex);
            
        }finally{
            
            Conexao.closeConnection(con, stmt, rs);
            
        }
        return lista;
    
    } 
    
}

Construtor do form:

ProdutosTableModel modelo;
    
    public FormProdutos() {
        initComponents();
        modelo = new ProdutosTableModel();
        jtProduto.setModel(modelo);
    }

Evento do botão que pega o código do produto e chama a classe DAO passando o código como parâmetro:

private void btnConsultaActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        ProdutosBin pb = new ProdutosBin();
        pb.setCodigo(Integer.parseInt(txtCodigo.getText()));
        
        ProdutosDao dao = new ProdutosDao();
        dao.consultaProduto(pb);
    }

O select é executado e a lista é carregada, mas como faço para colocar a lista no método Add do modelo?

Olá, segue exemplo:

public void setData(List<ProdutosBin> lista) {
       linhas.clear();
       linhas.addAll(lista);
       fireTableDataChanged();
}