java输入信息查询MySQL中的某一条数据在jtable中显示出来
时间: 2024-03-12 10:46:43 浏览: 74
首先,你需要使用 JDBC 连接到 MySQL 数据库,并且查询需要的数据。然后,使用 JTable 组件来显示查询结果。
以下是一个示例代码,供你参考:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class DisplayData extends JFrame {
private JTable table;
public DisplayData() {
setTitle("Display Data");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600, 400);
// 创建表格模型
DefaultTableModel model = new DefaultTableModel();
model.addColumn("ID");
model.addColumn("Name");
model.addColumn("Age");
// 连接到 MySQL 数据库
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 查询数据
stmt = conn.prepareStatement("SELECT * FROM mytable WHERE id = ?");
stmt.setInt(1, 1);
rs = stmt.executeQuery();
// 将查询结果添加到表格模型中
while (rs.next()) {
Object[] rowData = new Object[3];
rowData[0] = rs.getInt("id");
rowData[1] = rs.getString("name");
rowData[2] = rs.getInt("age");
model.addRow(rowData);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 创建表格,并将表格模型设置为数据源
table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane);
}
public static void main(String[] args) {
DisplayData frame = new DisplayData();
frame.setVisible(true);
}
}
```
在上面的代码中,我们使用 `DefaultTableModel` 类来创建表格模型,并添加列的信息。然后,使用 JDBC 连接到 MySQL 数据库,并查询需要的数据。最后,将查询结果添加到表格模型中,并将表格模型作为数据源设置给 `JTable` 组件。最终,将 `JTable` 组件添加到一个 `JScrollPane` 中,并将 `JScrollPane` 添加到窗口中,以便能够滚动查看所有的数据。
阅读全文