Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जावा में JTable का उपयोग करके MySQL डेटाबेस से रिकॉर्ड प्रदर्शित करें

नीचे एक वर्ग है जो एक MySQL डेटाबेस से JTable में डेटा पढ़ते समय आप जो करना चाहते हैं उसकी मूल बातें पूरी करेंगे जावा में।

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);
    }
}

NetBeans IDE में जिसका आप उपयोग कर रहे हैं - आपको MySQL JDBC ड्राइवर को जोड़ना होगा प्रोजेक्ट प्रॉपर्टीज में जैसा कि मैं यहां प्रदर्शित करता हूं:

अन्यथा कोड एक SQLException फेंक देगा यह बताते हुए कि ड्राइवर नहीं मिल सकता।

अब मेरे उदाहरण में, yourdb डेटाबेस का नाम है और animals उस तालिका का नाम है जिसके विरुद्ध मैं एक प्रश्न कर रहा हूं।

यहां बताया गया है कि क्या आउटपुट होगा:

विभाजन नोट:

आपने कहा था कि आप नौसिखिए थे और आपको जावा की कुछ बुनियादी कक्षाओं और अवधारणाओं को समझने में मदद की ज़रूरत है। मैं यहां कुछ को सूचीबद्ध करूंगा, लेकिन याद रखें कि आप हमेशा 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. mysql COUNT () संख्या पंक्तियाँ बहुत धीमी हैं

  2. JSP से MySQL को जोड़ना

  3. MySQL और नेस्टेड सेट:धीमी गति से जुड़ें (सूचकांक का उपयोग नहीं)

  4. WAMP सर्वर हरे रंग में लेकिन केवल 404 . प्राप्त करें

  5. MySQL ट्रैकिंग सिस्टम