jdbc怎么将数据导入Java表格

2024-04-29

要将数据从数据库导入 Java 表格,可以使用 JDBC 连接数据库并执行查询语句来获取数据,然后将数据填充到 Java 表格中。

以下是一个简单的示例代码来演示如何将数据从数据库中导入到 Java 表格中:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class Main {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String username = "root";
        String password = "password";

        try (Connection conn = DriverManager.getConnection(url, username, password);
             Statement stmt = conn.createStatement()) {

            String query = "SELECT * FROM mytable";
            ResultSet rs = stmt.executeQuery(query);

            JTable table = new JTable(buildTableModel(rs));
            JFrame frame = new JFrame();
            frame.add(new JScrollPane(table));
            frame.setSize(600, 400);
            frame.setVisible(true);

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static DefaultTableModel buildTableModel(ResultSet rs) throws SQLException {
        ResultSetMetaData metaData = rs.getMetaData();

        // Create column names
        Vector<String> columnNames = new Vector<>();
        int columnCount = metaData.getColumnCount();
        for (int i = 1; i <= columnCount; i++) {
            columnNames.add(metaData.getColumnName(i));
        }

        // Create data rows
        Vector<Vector<Object>> data = new Vector<>();
        while (rs.next()) {
            Vector<Object> row = new Vector<>();
            for (int i = 1; i <= columnCount; i++) {
                row.add(rs.getObject(i));
            }
            data.add(row);
        }

        return new DefaultTableModel(data, columnNames);
    }
}

在这个示例中,我们首先建立了一个 JDBC 连接,并执行了一个查询语句来获取数据。然后我们使用 buildTableModel 方法将查询结果转换成一个 DefaultTableModel 对象,最后将表格显示在一个 JFrame 中。

需要注意的是,这里使用了 JTableDefaultTableModel 来显示表格,需要导入相应的包:import javax.swing.JTable;import javax.swing.table.DefaultTableModel;