Mostrar dados de um banco na JTABLE

2 respostas
java
G

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();/<em>pegando o primeiro campo</em>/

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());/<em>enquanto tiver dado o RS vai avançando</em>/

}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); /<em>NÃO PODE REDIMENC.</em>/

jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

}

2 Respostas

E

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.

G

Não Entendi!

Criado 21 de abril de 2016
Ultima resposta 22 de abr. de 2016
Respostas 2
Participantes 2