To retrieve data from a database and display it in a table in a Java application, you can follow these steps.
	- Set up your environment: Ensure you have the necessary JDBC driver for your database.
 
	- Create a database connection: Use JDBC to connect to your database.
 
	- Retrieve data from the database: Execute a SQL query to get the data.
 
	- Display the data in a table: Use a JTable to display the data in a Swing application.
 
Here is an example that demonstrates these steps.
Step 1. Set up your environment
Make sure you have the JDBC driver for your database (e.g., mysql-connector-java for MySQL).
Step 2. Create a database connection
Create a class to handle the database connection and data retrieval.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DatabaseConnection {
    private static final String URL = "jdbc:mysql://localhost:3306/your_database";
    private static final String USER = "your_username";
    private static final String PASSWORD = "your_password";
    public static Connection getConnection() {
        try {
            return DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public static ResultSet getData() {
        Connection connection = getConnection();
        if (connection != null) {
            try {
                Statement statement = connection.createStatement();
                return statement.executeQuery("SELECT * FROM your_table");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
Step 3. Retrieve data from the database
Fetch the data using the DatabaseConnection class.
Step 4. Display the data in a table
Create a Swing application with a JTable to display the data.
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
public class DataTable extends JFrame {
    public DataTable() {
        setTitle("Database Table");
        setSize(800, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        // Create the table model
        DefaultTableModel tableModel = new DefaultTableModel();
        JTable table = new JTable(tableModel);
        // Fetch data from the database
        ResultSet resultSet = DatabaseConnection.getData();
        if (resultSet != null) {
            try {
                ResultSetMetaData metaData = resultSet.getMetaData();
                int columnCount = metaData.getColumnCount();
                // Add column names to the table model
                for (int i = 1; i <= columnCount; i++) {
                    tableModel.addColumn(metaData.getColumnName(i));
                }
                // Add rows to the table model
                while (resultSet.next()) {
                    Object[] row = new Object[columnCount];
                    for (int i = 1; i <= columnCount; i++) {
                        row[i - 1] = resultSet.getObject(i);
                    }
                    tableModel.addRow(row);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        // Add the table to a scroll pane and add the scroll pane to the frame
        add(new JScrollPane(table), BorderLayout.CENTER);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            DataTable dataTable = new DataTable();
            dataTable.setVisible(true);
        });
    }
}
Explanation
	- DatabaseConnection class: This class handles the connection to the database and data retrieval.
 
	- DataTable class: This class creates a Swing application with a JTable to display the data.
 
	- JTable and DefaultTableModel: Used to dynamically create and populate the table with data from the database.
 
	- SwingUtilities.invokeLater: Ensures the UI updates are done on the Event Dispatch Thread.
 
Replace "jdbc:mysql://localhost:3306/your_database", "your_username", "your_password", and "your_table" with your actual database details.
This example demonstrates how to connect to a MySQL database, retrieve data, and display it in a JTable. Adjustments might be necessary based on your specific database and requirements.