Java实现系统管理员登录页面设计并连接Mysql
时间: 2023-12-30 14:02:58 浏览: 68
好的,我可以为您提供Java实现系统管理员登录页面设计并连接Mysql的步骤:
1. 首先要先搭建好Mysql数据库,在数据库中创建好管理员账号表,包括账号、密码等字段。
2. 然后在Java中创建一个登录页面的JFrame窗口,设计好布局和样式。
3. 在JFrame窗口中添加用户名和密码的输入框以及登录按钮,并为登录按钮添加事件监听器。
4. 在事件监听器中通过JDBC连接Mysql数据库,查询输入的用户名和密码是否匹配。
5. 如果匹配,则登录成功,跳转到主页面;否则登录失败,提示用户重新输入。
下面是一段示例代码,可供参考:
```java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class LoginFrame extends JFrame implements ActionListener {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;
public LoginFrame() {
// 设置窗口标题和大小
setTitle("管理员登录");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建用户名和密码输入框
JLabel usernameLabel = new JLabel("用户名:");
usernameField = new JTextField(20);
JLabel passwordLabel = new JLabel("密 码:");
passwordField = new JPasswordField(20);
// 创建登录按钮
loginButton = new JButton("登录");
loginButton.addActionListener(this);
// 设置布局和添加组件
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(usernameLabel);
panel.add(usernameField);
panel.add(passwordLabel);
panel.add(passwordField);
panel.add(new JLabel());
panel.add(loginButton);
add(panel);
// 设置窗口居中显示
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
try {
// 连接Mysql数据库
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test?serverTimezone=UTC",
"root", "123456");
Statement stmt = conn.createStatement();
// 查询管理员账号表
String sql = "SELECT * FROM admin WHERE username='" + username +
"' AND password='" + password + "'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
// 登录成功,跳转到主页面
JOptionPane.showMessageDialog(this, "登录成功!");
dispose(); // 关闭登录窗口
new MainFrame(); // 打开主页面
} else {
// 登录失败,提示用户重新输入
JOptionPane.showMessageDialog(this, "用户名或密码错误,请重新输入!");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
new LoginFrame();
}
}
class MainFrame extends JFrame {
public MainFrame() {
// 设置窗口标题和大小
setTitle("系统主页");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口居中显示
setLocationRelativeTo(null);
setVisible(true);
}
}
```
需要注意的是,上述代码中的连接Mysql数据库的URL、用户名和密码等信息需要根据实际情况进行修改。另外,为了保证代码的安全性,应使用PreparedStatement来执行SQL语句,而不是直接拼接字符串。