使用JFrame连接数据库,轻松实现登录功能 (jframe连接数据库登录)

JFrame是Java Swing组件库中的一个重要类,它提供了丰富的GUI界面设计功能。在Java应用程序中,经常需要借助JFrame来实现各种用户界面,比如登录窗口、主界面等。而连接数据库也是Java应用程序中的重要功能之一,数据库可以存储程序运行所需的数据。

本文将介绍如何。

步骤一:创建JFrame窗口

我们需要创建一个JFrame窗口,作为登录界面,用户可以在该界面输入用户名和密码。创建JFrame窗口的代码如下:

“`

public class LoginFrame extends JFrame {

private JTextField usernameField;

private JPasswordField passwordField;

public LoginFrame() {

setTitle(“登录”);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(300, 200);

JPanel mnPanel = new JPanel(new GridLayout(3, 1));

JLabel usernameLabel = new JLabel(“用户名:”);

JLabel passwordLabel = new JLabel(“密码:”);

usernameField = new JTextField(20);

passwordField = new JPasswordField(20);

mnPanel.add(usernameLabel);

mnPanel.add(usernameField);

mnPanel.add(passwordLabel);

mnPanel.add(passwordField);

JButton loginButton = new JButton(“登录”);

loginButton.addActionListener(new LoginActionListener());

mnPanel.add(loginButton);

setContentPane(mnPanel);

setVisible(true);

}

private class LoginActionListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

String username = usernameField.getText();

String password = new String(passwordField.getPassword());

// TODO: 连接数据库并验证用户名密码

JOptionPane.showMessageDialog(LoginFrame.this, “登录成功!”);

}

}

public static void mn(String[] args) {

new LoginFrame();

}

}

“`

在上述代码中,我们创建了一个LoginFrame类,继承自JFrame类,并创建了一个登录界面。登录界面包含用户名和密码的输入框,以及一个登录按钮。当用户点击登录按钮时,我们需要验证用户输入的用户名和密码是否正确。

步骤二:连接数据库

在验证用户名和密码之前,我们需要连接数据库。本文以MySQL数据库为例,示例代码如下:

“`

String url = “jdbc:mysql://localhost:3306/mydatabase”;

String username = “root”;

String password = “123456”;

Class.forName(“com.mysql.jdbc.Driver”);

Connection conn = DriverManager.getConnection(url, username, password);

“`

在上述代码中,我们首先指定了数据库的连接地址,用户名和密码。然后我们使用JDBC驱动连接数据库,并获得一个Connection对象。接下来的验证用户名密码步骤将会使用该Connection对象。

步骤三:验证用户名密码

当用户点击登录按钮时,我们需要验证用户输入的用户名和密码是否正确。这里我们使用SQL语句查询用户表,代码如下:

“`

PreparedStatement stmt = conn.prepareStatement(“SELECT * FROM user WHERE username=? AND password=?”);

stmt.setString(1, username);

stmt.setString(2, password);

ResultSet rs = stmt.executeQuery();

if (rs.next()) {

JOptionPane.showMessageDialog(LoginFrame.this, “登录成功!”);

} else {

JOptionPane.showMessageDialog(LoginFrame.this, “用户名或密码错误!”);

}

“`

在上述代码中,我们使用PreparedStatement对象执行一条查询语句,查询符合条件的用户记录。将用户名和密码作为查询条件设置到PreparedStatement对象中,并执行查询操作。如果查询结果包含一条符合条件的记录,说明用户名和密码验证通过,否则验证失败。根据验证结果弹出不同的提示信息。

步骤四:关闭数据库连接

不管验证用户名密码的结果如何,我们都必须关闭数据库连接。关闭数据库连接的代码如下:

“`

rs.close();

stmt.close();

conn.close();

“`

在上述代码中,我们依次关闭了ResultSet、PreparedStatement和Connection对象,释放了数据库连接。

本文介绍了如何,并提供了完整的示例代码。在实际开发中,还需要注意数据库连接的安全性和可靠性,以及输入合法性、防止SQL注入等问题。本文只提供了基本的功能实现,读者需要根据实际需求进行优化和改进。

相关问题拓展阅读:

java链接mysql数据库实现登陆验证

//这是我以前写的核对数据库实现登陆的方法,你只看jdbc部分就好,我还特地给你加了点注释

String sql = “select username,password from account”;

String user = request.getParameter(“user”);

String pass = request.getParameter(“password”);

int j = 0;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn = JDBCTools1.getConnection();

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

/友厅/从表中查询获取所有账户的用户名&密码的ResultSet 对象

while(rs.next()){

int i = 0;

String username = new String;//用户名数组

String password = new String;//密顷模码数组

username = rs.getString(1);

password = rs.getString(2);

if(user.equals(username)&&pass.equals(password)){//比对

response.getWriter().print(“you are welcome!”);

j++;

}else if(user.equals(username)&&!pass.equals(password)){

response.getWriter().println(“the realy password is :”+ username +”,”+password+”\r\n”);

response.getWriter().println(“and you password is :”+user +”,”+pass+” :so the username or password may not right”);

j++;

}else{

continue;

}

i++;

}

if(j == 0){

response.getWriter().println(“Your username may not be properly”);

}

} catch (Exception e) {

e.printStackTrace();

}finally{

JDBCTools1.release(rs, ps, conn);

}

//这是好乎隐我JDBCTools的getConnection方法

getConnection{

String driverClass = oracle.jdbc.driver.OracleDriver;

String jdbcUrl = jdbc:oracle:thin:@localhost:1521:orcl;

//你的数据库的用户名密码

String user = null;

String password = null;

// 通过反射创建Driver对象

Class.forName(driverClass);

return DriverManager.getConnection(jdbcUrl, user, password);}

//这是我JDBCTools的release方法

public static void release(ResultSet rs, Statement statement,

Connection conn) {

if (rs != null) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if (statement != null) {

try {

statement.close();

} catch (Exception e2) {

e2.printStackTrace();

}

}

if (conn != null) {

try {

conn.close();

} catch (Exception e2) {

e2.printStackTrace();

}

}

关于jframe连接数据库登录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 使用JFrame连接数据库,轻松实现登录功能 (jframe连接数据库登录)