首页 > AI文库 >

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

来自 贵州省黔南州 的网友分享 (°C) 20460

来自 贵州省黔南州 的网友 分享

(°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`字段。

相关推荐

中国经济实现高质量发展具备哪些显著优势论文1500字

AI文库

世界变乱交织,中国笃行担当 变革动荡 大国关系 中国智慧 上述内容分别为大标题和三个小标题,请以此写出不少于2000字的形式与政策论文,要求内容充实具体,不存在抄袭、、雷同情况

AI文库

假如你是形式与政策这个课程的一名学生,请以“世界变乱多织,中国笃行担当”为主题,写一篇论文,要求完全按照论文的格式,字数一定在2500字以上!

AI文库

请结合《走好新时代科技自立自强之路》专题和今年2月8日广东省高质量发展大会聚焦产业科技话创新、谋未来主题,谈谈你对党的二十大提出的“科技强国”战略的认识及行动

AI文库

国家安全为什么与你我息息相关论文不少于1500

AI文库

热门图文

上一篇: 测控技术与仪器成就故事中我的任务/目标(Task/Target):(必填

下一篇:import javax.swing.*; import java.awt.*; import java.sql.*; import java.util.Scanner; public class