Pessoal, eu encontrei esse codigo de como listar os dados da minha tabela MySql em uma JTable… o codigo está MUITO antigo e sem boas praticas, gostaria de não usar o System Out Println mas não sei como fazer isso… e outra… quando eu rodo esse codigo só aparece o primeiro cadastro que tem no Banco de Dados… não aparece os demais… Tem como vcs me ajudarem atualizando o codigo ou um codigo novo??
package gui;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
import java.sql.*;
public class Tabela extends JFrame{
public Tabela(){
super(“JTable”);final DefaultTableModel modelo = new DefaultTableModel(); // constrói a tabela JTable tabela = new JTable(modelo); // Cria duas colunas modelo.addColumn("Id"); modelo.addColumn("Nome"); modelo.addColumn("Idade"); modelo.addColumn("Telefone"); modelo.addColumn("Cpf"); // exibe os dados da tabela MySQL try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/farmaciatargaryen", "root", "root"); // procedimentos para obter os dados de uma tabela Statement stmt = conn.createStatement(); String query = "SELECT * FROM pessoa"; ResultSet rs = stmt.executeQuery(query); Container c = getContentPane(); c.setLayout(new FlowLayout()); while(rs.next()){ int id = rs.getInt("ID"); String nome = rs.getString("NOME"); String idade = rs.getString("IDADE"); String telefone = rs.getString("TELEFONE"); String cpf = rs.getString("CPF"); modelo.addRow(new Object[]{new Integer(id), nome, idade, telefone, cpf, new Integer(idade)}); } // 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 e){ System.out.println("Problemas ao tentar conectar com o banco de dados"); } // fim MySQL tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true);
}
public static void main(String args[]){
Tabela app = new Tabela();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}