segunda-feira, 8 de fevereiro de 2016

Criando tabela em Java para exibir conteudo de uma tabela Mysql - Eclipse

Ola pessoal, recentemente algumas pessoa vem me perguntando se é possível exibir o conteúdo de uma tabela MySql em tabelas Java (JTable). 

Então decidi deixar aqui o Código de como lincar um tabela do banco de dados com uma tabela em java, deixarei o código comentado o máximo possível. 

primeiramente você deve ter um cliente mysql instalado e de preferencia uma interface visual (workbench), para facilitar nossa vida. Mas enfim, vou deixar aqui o código em mysql de criação de uma tabela simples para que possamos usar em nosso exemplo. 
 
Criando tabela MySql

CREATE TABLE lista (
nome varchar(10) not null,
tipo varchar(10) not null,
marca varchar(10) not null)

Agora vamos colocar alguma coisa na tabela para que seja exibo na nossa JTable.

INSERT INTO lista VALUES ( 'pera', 'fruta', 'frutaqui' )

Com o comando acima estamos criando uma tabela chamada lista onde há três colunas:

nome ( nome dos intens da lista ) 
tipo ( tipo dos  intens)
marca ( marca dos intens )  

e inserindo 

nome: pera
tipo: fruta
marca: frutaqui

Pronto criamos a tabela que queremos exibir posteriormente como java, podemos esquece ela por enquanto, e vamos ao código java. 

criando código java  
 
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import br.com.cbanco.conexao.conexao;
import javax.swing.JTextPane;
import javax.swing.UIManager;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;


public class tabelalista extends JFrame {
  
  
    public tabelalista() {
        super ("JTable");
        getContentPane().setBackground(UIManager.getColor("Button.focus"));
        setTitle("Tabela");
      
        final DefaultTableModel modelo = new DefaultTableModel();
      
        // constrói a tabela
        JTable tabela = new JTable(modelo);
      
        // Cria colunas da tabela JAVA
        modelo.addColumn("nome"); // nome dos campos da tabela igual a tabela
        modelo.addColumn("tipo"); //em mysql
        modelo.addColumn("marca");
      
        /* Abrindo conexão com o banco de dados
         * código para criar classe de conexão
         * aqui
> Banco <
         */
       
        conexao banco = new conexao(); // instanciando classe de conexão
                                      
        try {


            banco.AbrirConexao();
        banco.stmt= banco.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
        String query;
       
        // Código sql que fara ser exibida tudo que houver  em nossa lista
        query = "SELECT * FROM lista";

        banco.resultset = banco.stmt.executeQuery(query);
      
        // pegando dados da tabela
        while(banco.resultset.next()){
            String nome = banco.resultset.getString("nome");
            String tipo = banco.resultset.getString("tipo");
            String marca = banco.resultset.getString("marca");
                      
            modelo.addRow(new Object[]{nome, tipo, marca});
          }

         // fim procedimento para obter os dados
        } catch (SQLException ex){
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
          
        } catch(Exception ec){
            System.out.println("Problemas ao tentar conectar com o banco de dados");
        }

        tabela.setPreferredScrollableViewportSize(new Dimension(575, 500));
      
        Container c = getContentPane();
        getContentPane().setLayout(null);
       
        // adicionando uma barra de rolagem
        JScrollPane scrollPane = new JScrollPane(tabela);
        scrollPane.setBounds(12, 12, 565, 503);
        c.add(scrollPane);

        setSize(596, 601); // tamanho da tabela
        setVisible(true); // torna tabela visível
    }
       
public static void main(String args[]){
        tabelalista app = new tabelalista();
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // executa a tabela.
      }
    }



Pronto! Com isso sera exibido uma tabela em java, utilizando dados do mysql, tudo que for alterado na tabela sql será alterado também no java.  









Um comentário:

  1. ola estou com dificuldade de fazer a classe conexao teria como me fornecer o codigo ou me dar uma força email - pauloetec@bol.com.br

    ResponderExcluir