Mostrar dados de um banco na JTABLE

como eu faria com esse código que está na View, para dividir e deixar a parte que conecta com o banco no pacote DAO?

public void preencherTabela (String sql){

ArrayList dados = new ArrayList();
String [] colunas = new String [] {“COD”, “PARC”, “LOC”, “DT”, “HORA”, “DET”};

conecta.abrirBanco();
conecta.executasql(sql);

try{
conecta.rs.first();/pegando o primeiro campo/
do{
dados.add(new Object[]{conecta.rs.getInt(“cod_evento”), conecta.rs.getString(“cad_parceiro”), conecta.rs.getString(“cad_local”), conecta.rs.getString(“cad_data”)});

}while(conecta.rs.next());/enquanto tiver dado o RS vai avançando/
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,“Nao foi possivel preencher a ArrayList!!”+ex);
}
Model_Table modelo = new Model_Table(dados, colunas);
jTable1.setModel(modelo);
jTable1.getColumnModel().getColumn(0).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(0).setResizable(false);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(120);
jTable1.getColumnModel().getColumn(1).setResizable(false);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(40);
jTable1.getColumnModel().getColumn(2).setResizable(false);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(80);
jTable1.getColumnModel().getColumn(3).setResizable(false);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(40);
jTable1.getColumnModel().getColumn(4).setResizable(false);
jTable1.setAutoResizeMode(jTable1.AUTO_RESIZE_OFF); /NÃO PODE REDIMENC./
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

}

Primeiramente crie uma classe só para a conexão DAO, que cria a conexão abre e fecha, depois disso crie uma classe para chamar o DAO se preferir como por exemplo abaixo:

Minha View aonde fica a chamada do DAO:

`
private void jButtonPesquisarTipoImovelPesquisarActionPerformed(java.awt.event.ActionEvent evt) {

    tipoImovelTableModel.clear();
    
    TipoImovelRepository tipoImovelRepository = new TipoImovelRepository();
    List<TipoImovel> listaTipoImovel = (List<TipoImovel>)tipoImovelRepository.findTipoImovelEntities();
    
    tipoImovelTableModel.addListTipoImovel(listaTipoImovel);
    
    //ToolBar
    jButtonTipoImovelImprimir.setVisible(true);
    
} 

Aqui estou chamando o Pesquisar atravês de um botão mais ai tanto faz aonde você quer fazer só implementar aonde quiser.
`

Esse é meu Repository aonde vai ficar todas as chamadas de Select’s:

`
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.suiteescdesktop.imobiliario.businesslogic;

import br.com.suiteescdesktop.imobiliario.beans.TipoImovel;
import br.com.suiteescdesktop.imobiliario.model.dao.TipoImovelDAO;
import java.util.List;

/**
*

  • @author eders
    */
    public class TipoImovelRepository {

    public List findTipoImovelEntities () {

     TipoImovelDAO tipoImovelDAO = new TipoImovelDAO();
     List<TipoImovel> listaTipoImovel = tipoImovelDAO.findTipoImovelEntities();
     
     return listaTipoImovel;
    

    }
    }
    `

`
/*

  • To change this license header, choose License Headers in Project Properties.
  • To change this template file, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.suiteescdesktop.imobiliario.model.dao;

import br.com.suiteescdesktop.imobiliario.beans.TipoImovel;
import br.com.suiteescdesktop.imobiliario.controller.TipoImovelJpaController;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
*

  • @author eders
    */
    public class TipoImovelDAO {

    protected EntityManager entityManager;

    private EntityManager getEntityManager() {
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory(“SuiteESCDesktop”);
    if (entityManager == null) {
    entityManager = entityManagerFactory.createEntityManager();
    }
    return entityManager;
    }

    public TipoImovel create(TipoImovel tipoImovel) {

     try {
         
         EntityManager em = getEntityManager();
    
         TipoImovelJpaController tipoImovelJpaController = new TipoImovelJpaController(em.getEntityManagerFactory());
         tipoImovelJpaController.create(tipoImovel);
         
     } catch (Exception e) {
         e.printStackTrace();
         return null;
     }
     
     return tipoImovel;
    

    }

    public TipoImovel edit(TipoImovel tipoImovel) {

     try {
         
         EntityManager em = getEntityManager();
    
         TipoImovelJpaController tipoImovelJpaController = new TipoImovelJpaController(em.getEntityManagerFactory());
         tipoImovelJpaController.edit(tipoImovel);
         
     } catch (Exception e) {
         e.printStackTrace();
         return null;
     }
     return tipoImovel;
    

    }

    public Integer destroy(Integer id) {

     try {
         
         EntityManager em = getEntityManager();
    
         TipoImovelJpaController tipoImovelJpaController = new TipoImovelJpaController(em.getEntityManagerFactory());
         tipoImovelJpaController.destroy(id);
         
     } catch (Exception e) {
         e.printStackTrace();
         return null;
     }
     return id;
    

    }

    public List findTipoImovelEntities () {

     EntityManager em = getEntityManager();
     
     TipoImovelJpaController tipoImovelJpaController = new TipoImovelJpaController(em.getEntityManagerFactory());
     List<TipoImovel> listaTipoImovel = tipoImovelJpaController.findTipoImovelEntities();
     
     return listaTipoImovel;
    

    }

    public TipoImovel findTipoImovel(Integer id) {

     try {
         
         EntityManager em = getEntityManager();
    
         TipoImovelJpaController tipoImovelJpaController = new TipoImovelJpaController(em.getEntityManagerFactory());
         TipoImovel tipoImovel = tipoImovelJpaController.findTipoImovel(id);
         
         return tipoImovel;
         
     } catch (Exception e) {
         e.printStackTrace();
         return null;
     }
    

    }
    }

`

E por fim meu TipoImovelDAO propriamente dito aqui estou usando o JPA mais aqui no caso você implementa seu DAO como está fazendo o Select que está fazendo. Chamando sua classe que vai criar separada para abrir, fechar e criar as conexões.

Não Entendi!