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.