Java MySQL swing 输入id查到个人信息
时间: 2024-03-14 10:49:38 浏览: 66
java swing 查找
你可以使用 Java Swing 编写一个简单的 GUI 界面,让用户可以在输入框中输入 ID,然后通过查询按钮来查找该 ID 对应的个人信息。
以下是实现这个功能的一个简单示例代码,假设你已经连接到了 MySQL 数据库,并且有一个名为 `person` 的表,其中包含 `id`, `name`, `age`, `email` 等字段。
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class PersonInfoGUI extends JFrame implements ActionListener {
private JTextField idField;
private JTextArea infoArea;
private JButton queryButton;
public PersonInfoGUI() {
super("Person Information");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建输入框和查询按钮
idField = new JTextField(10);
queryButton = new JButton("Query");
queryButton.addActionListener(this);
// 创建信息显示区域
infoArea = new JTextArea(10, 40);
infoArea.setEditable(false);
// 将输入框和按钮添加到面板中
JPanel inputPanel = new JPanel();
inputPanel.add(new JLabel("ID:"));
inputPanel.add(idField);
inputPanel.add(queryButton);
// 将信息显示区域添加到滚动面板中
JScrollPane scrollPane = new JScrollPane(infoArea);
// 将面板添加到窗口中
Container contentPane = getContentPane();
contentPane.add(inputPanel, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == queryButton) {
// 获取输入的 ID
String id = idField.getText().trim();
// 查询数据库
String sql = "SELECT * FROM person WHERE id=?";
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, id);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
String email = rs.getString("email");
// 将查询结果显示在信息显示区域中
infoArea.setText("Name: " + name + "\nAge: " + age + "\nEmail: " + email);
} else {
// 如果没有查到结果,清空信息显示区域并显示提示信息
infoArea.setText("");
JOptionPane.showMessageDialog(this, "No information found for ID " + id);
}
} catch (SQLException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "Database error: " + ex.getMessage());
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new PersonInfoGUI());
}
}
```
在上面的示例中,我们创建了一个继承自 `JFrame` 的窗口,并在其中添加了一个输入框和查询按钮,以及一个信息显示区域。当用户点击查询按钮时,程序将获取输入框中的 ID,然后查询数据库并将结果显示在信息显示区域中。如果没有查到结果,则清空信息显示区域并弹出一个提示框。注意,在实际的应用中,你应该将数据库连接和查询语句的相关信息抽象出来,以提高代码的可维护性。
阅读全文