Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tampilkan Catatan Dari Database MySQL menggunakan JTable di Java

Di bawah ini adalah kelas yang akan menyelesaikan dasar-dasar dari apa yang ingin Anda lakukan saat membaca data dari database MySQL ke dalam JTable di Jawa.

import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;

public class TableFromMySqlDatabase extends JFrame
{
    public TableFromMySqlDatabase()
    {
        ArrayList columnNames = new ArrayList();
        ArrayList data = new ArrayList();

        //  Connect to an MySQL Database, run query, get result set
        String url = "jdbc:mysql://localhost:3306/yourdb";
        String userid = "root";
        String password = "sesame";
        String sql = "SELECT * FROM animals";

        // Java SE 7 has try-with-resources
        // This will ensure that the sql objects are closed when the program 
        // is finished with them
        try (Connection connection = DriverManager.getConnection( url, userid, password );
            Statement stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery( sql ))
        {
            ResultSetMetaData md = rs.getMetaData();
            int columns = md.getColumnCount();

            //  Get column names
            for (int i = 1; i <= columns; i++)
            {
                columnNames.add( md.getColumnName(i) );
            }

            //  Get row data
            while (rs.next())
            {
                ArrayList row = new ArrayList(columns);

                for (int i = 1; i <= columns; i++)
                {
                    row.add( rs.getObject(i) );
                }

                data.add( row );
            }
        }
        catch (SQLException e)
        {
            System.out.println( e.getMessage() );
        }

        // Create Vectors and copy over elements from ArrayLists to them
        // Vector is deprecated but I am using them in this example to keep 
        // things simple - the best practice would be to create a custom defined
        // class which inherits from the AbstractTableModel class
        Vector columnNamesVector = new Vector();
        Vector dataVector = new Vector();

        for (int i = 0; i < data.size(); i++)
        {
            ArrayList subArray = (ArrayList)data.get(i);
            Vector subVector = new Vector();
            for (int j = 0; j < subArray.size(); j++)
            {
                subVector.add(subArray.get(j));
            }
            dataVector.add(subVector);
        }

        for (int i = 0; i < columnNames.size(); i++ )
            columnNamesVector.add(columnNames.get(i));

        //  Create table with database data    
        JTable table = new JTable(dataVector, columnNamesVector)
        {
            public Class getColumnClass(int column)
            {
                for (int row = 0; row < getRowCount(); row++)
                {
                    Object o = getValueAt(row, column);

                    if (o != null)
                    {
                        return o.getClass();
                    }
                }

                return Object.class;
            }
        };

        JScrollPane scrollPane = new JScrollPane( table );
        getContentPane().add( scrollPane );

        JPanel buttonPanel = new JPanel();
        getContentPane().add( buttonPanel, BorderLayout.SOUTH );
    }

    public static void main(String[] args)
    {
        TableFromMySqlDatabase frame = new TableFromMySqlDatabase();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);
    }
}

Di NetBeans IDE yang Anda gunakan - Anda perlu menambahkan Driver JDBC MySQL di Properti Proyek seperti yang saya tampilkan di sini:

Jika tidak, kode akan menampilkan SQLException menyatakan bahwa pengemudi tidak dapat ditemukan.

Sekarang dalam contoh saya, yourdb adalah nama database dan animals adalah nama tabel tempat saya melakukan kueri.

Inilah yang akan dihasilkan:

Catatan perpisahan:

Anda menyatakan bahwa Anda adalah seorang pemula dan membutuhkan bantuan untuk memahami beberapa kelas dasar dan konsep Java. Saya akan mencantumkan beberapa di sini, tetapi ingat Anda selalu dapat menelusuri dokumen di situs Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bahasa arab di php/mysql muncul ???? tanda tanya di html

  2. Apakah mungkin untuk memperlakukan tanda hubung dan spasi yang sama dalam SQL?

  3. buat tayangan slide gambar di dalam modal bootstrap secara dinamis menggunakan PHP

  4. Otomatisasi mysql_secure_installation dengan perintah echo melalui skrip shell

  5. Bagaimana cara melakukan pencocokan fuzzy nama perusahaan di MYSQL dengan PHP untuk pelengkapan otomatis?