云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

java数据库实现登录功能的方法

使用Java连接数据库,执行查询验证用户名和密码是否匹配,若匹配则登录成功,否则提示错误信息。

需求分析

实现一个Java程序,通过数据库连接和操作,实现用户登录功能,具体需求如下:

1、用户输入用户名和密码;

2、程序查询数据库中是否存在该用户;

3、如果存在,验证密码是否正确;

4、如果正确,显示登录成功,否则显示登录失败。

技术选型

1、数据库:MySQL

2、JDBC驱动:MySQL Connector/J

3、Java开发工具:IntelliJ IDEA

数据库设计

1、创建一个名为user的表,包含以下字段:

id:主键,自增长

username:用户名,唯一,不允许为空

password:密码,不允许为空

Java代码实现

1、导入相关依赖包:

<!pom.xml >
<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysqlconnectorjava</artifactId>
        <version>8.0.26</version>
    </dependency>
</dependencies>

2、编写数据库连接工具类DBUtil

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
    private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
    private static final String USER = "root";
    private static final String PASSWORD = "your_password";
    public static Connection getConnection() {
        Connection connection = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
}

3、编写用户登录功能类Login

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
public class Login {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String username = scanner.nextLine();
        System.out.println("请输入密码:");
        String password = scanner.nextLine();
        login(username, password);
    }
    public static void login(String username, String password) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = DBUtil.getConnection();
            String sql = "SELECT * FROM user WHERE username = ?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, username);
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()) {
                String dbPassword = resultSet.getString("password");
                if (dbPassword != null && dbPassword.equals(password)) {
                    System.out.println("登录成功!");
                } else {
                    System.out.println("密码错误!");
                }
            } else {
                System.out.println("用户名不存在!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (preparedStatement != null) {
                    preparedStatement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

测试与部署

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《java数据库实现登录功能的方法》
文章链接:https://www.yunzhuji.net/internet/178452.html

评论

  • 验证码