java 根据jdbc查询的数据 生成表格
时间: 2024-03-23 21:40:25 浏览: 15
要生成表格,您可以使用Java的Swing组件库,其中包括JTable组件。以下是一个简单的示例代码,用于使用JDBC从数据库中检索数据并将其显示在JTable中:
```java
import javax.swing.*;
import java.sql.*;
public class JDBCTableExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
String query = "SELECT * FROM mytable";
try (Connection con = DriverManager.getConnection(url, user, password);
PreparedStatement pst = con.prepareStatement(query);
ResultSet rs = pst.executeQuery()) {
JTable table = new JTable(buildTableModel(rs));
JOptionPane.showMessageDialog(null, new JScrollPane(table));
} catch (SQLException e) {
System.err.println("Error: " + e.getMessage());
}
}
public static DefaultTableModel buildTableModel(ResultSet rs) throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
String[] columnNames = new String[metaData.getColumnCount()];
for (int i = 1; i <= metaData.getColumnCount(); i++) {
columnNames[i - 1] = metaData.getColumnName(i);
}
// data of the table
Object[][] data = new Object[100][metaData.getColumnCount()];
int row = 0;
while (rs.next()) {
for (int i = 1; i <= metaData.getColumnCount(); i++) {
data[row][i - 1] = rs.getObject(i);
}
row++;
}
return new DefaultTableModel(data, columnNames);
}
}
```
在这个例子中,我们使用JDBC从数据库中检索数据,然后使用buildTableModel方法将ResultSet转换为DefaultTableModel,然后将其传递给JTable。最后,我们将JTable放入JScrollPane中,并将其显示在对话框中。