优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

java期末作业实现用户登录界面连接mysql

来自 贵州省黔南州 的网友 时间: 热度:°C 加入收藏 我要投稿 点赞()
要实现一个Java期末作业的用户登录界面连接MySQL,你需要完成以下步骤:

1. 导入MySQL JDBC驱动包(mysql-connector-java)到项目中。
2. 创建一个Java类,如`LoginFrame`,继承`JFrame`类。
3. 在`LoginFrame`类中,创建并初始化组件,如用户名、密码输入框和登录按钮。
4. 为登录按钮添加事件监听器,当用户点击登录按钮时,获取输入框中的用户名和密码。
5. 使用JDBC连接MySQL数据库,验证用户名和密码是否正确。
6. 如果用户名和密码正确,显示登录成功的提示信息;否则,显示错误提示信息。

以下是一个简单的示例代码:

```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class LoginFrame extends JFrame {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;

public LoginFrame() {
setTitle("用户登录");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 2));

add(new JLabel("用户名:"));
usernameField = new JTextField();
add(usernameField);

add(new JLabel("密码:"));
passwordField = new JPasswordField();
add(passwordField);

loginButton = new JButton("登录");
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
if (validateUser(username, password)) {
JOptionPane.showMessageDialog(null, "登录成功");
} else {
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
}
});
add(loginButton);
}

private boolean validateUser(String username, String password) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database_name", "your_username", "your_password");
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
ResultSet resultSet = preparedStatement.executeQuery();
return resultSet.next();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}

public static void main(String[] args) {
LoginFrame loginFrame = new LoginFrame();
loginFrame.setVisible(true);
}
}
```

注意:请将`your_database_name`、`your_username`和`your_password`替换为你的MySQL数据库名称、用户名和密码。同时,确保你的数据库中有一个名为`users`的表,包含`username`和`password`字段。
221381
领取福利

微信扫码领取福利

微信扫码分享