写一个java交互数据库的交互界面
时间: 2023-09-28 22:12:45 浏览: 48
好的,以下是一个简单的Java连接MySQL数据库的交互界面示例:
```java
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DBConnectionDemo extends JFrame implements ActionListener {
// 数据库连接参数
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
static final String USER = "root";
static final String PASS = "password";
// GUI组件
JLabel titleLabel, nameLabel, ageLabel, genderLabel;
JTextField nameField, ageField, genderField;
JButton addButton, clearButton;
JTextArea resultArea;
// 数据库连接对象
Connection conn = null;
Statement stmt = null;
public DBConnectionDemo() {
// 设置界面
super("数据库交互界面");
setSize(400, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// 添加标题
titleLabel = new JLabel("添加用户信息");
titleLabel.setHorizontalAlignment(SwingConstants.CENTER);
add(titleLabel, BorderLayout.NORTH);
// 添加输入框和标签
JPanel inputPanel = new JPanel(new GridLayout(3, 2));
nameLabel = new JLabel("姓名:");
nameField = new JTextField();
ageLabel = new JLabel("年龄:");
ageField = new JTextField();
genderLabel = new JLabel("性别:");
genderField = new JTextField();
inputPanel.add(nameLabel);
inputPanel.add(nameField);
inputPanel.add(ageLabel);
inputPanel.add(ageField);
inputPanel.add(genderLabel);
inputPanel.add(genderField);
add(inputPanel, BorderLayout.CENTER);
// 添加按钮
JPanel buttonPanel = new JPanel(new FlowLayout());
addButton = new JButton("添加");
addButton.addActionListener(this);
clearButton = new JButton("清空");
clearButton.addActionListener(this);
buttonPanel.add(addButton);
buttonPanel.add(clearButton);
add(buttonPanel, BorderLayout.SOUTH);
// 添加结果显示区域
resultArea = new JTextArea();
resultArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(resultArea);
add(scrollPane, BorderLayout.EAST);
// 连接数据库
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement();
} catch (Exception ex) {
ex.printStackTrace();
}
// 显示界面
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addButton) {
// 获取用户输入
String name = nameField.getText();
int age = Integer.parseInt(ageField.getText());
String gender = genderField.getText();
// 添加到数据库
try {
String sql = "INSERT INTO users (name, age, gender) VALUES ('" + name + "', " + age + ", '" + gender + "')";
int rows = stmt.executeUpdate(sql);
if (rows > 0) {
resultArea.append("成功添加用户: " + name + "\n");
} else {
resultArea.append("添加用户失败\n");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
} else if (e.getSource() == clearButton) {
// 清空用户输入
nameField.setText("");
ageField.setText("");
genderField.setText("");
}
}
public static void main(String[] args) {
new DBConnectionDemo();
}
}
```
这个程序实现了一个简单的添加用户信息的功能,用户可以在界面中输入姓名、年龄和性别,然后点击“添加”按钮将信息添加到MySQL数据库中,并在右侧的结果显示区域显示添加的结果。注意,这个程序并没有进行输入验证和SQL注入防护,需要在实际应用中完善。