栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java案例 JDBC+MySQL简单快速实现用户登录功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java案例 JDBC+MySQL简单快速实现用户登录功能

1,第一步准备JDBC对应数据库的jar包我这里准备的是mysql的环境

这是mysql对应的jar包:https://downloads.mysql.com/archives/c-j/

下载完成后解压

        把jar包引入到项目当中去这以idea教育版为例

        打开项目结构

导入解压的MySQL的jar 文件

 2,初始化部分完毕现在开始准备代码部分

       其中MySQL的环境部分会专门出一期进行简单讲解

主函数部分,里面主要包括了两个函数一个用来获得用户输入,一个对比用户账号密码是否正确

这两个函数会分开讲解

主函数

public static void main(String[] args) throws SQLException {

        //这里使用map做返回值是为了后面更方便的比较账号密码是否正确
        Map val=intoUI();

        //这个方法使用JDBC去判断账号密码是否正确
        boolean islogin= tologin(val);

        //输出成功或失败的语句
        System.out.println(islogin?"登录成功":"登录失败账号或密码错误");
    }

 intoUI() 函数以map的形式获得用户的输入信息

private static Map intoUI() {

        //创建map类用来存储用户输入
        Map m=new HashMap<>();

        //创建键盘输入流对象
        Scanner sc=new Scanner(System.in);

        //获得用户输入账号
        System.out.println("请输入账号:");
        String login=sc.nextLine();

        //获得用户输入密码
        System.out.println("请输入密码:");
        String password=sc.nextLine();

        //将账号密码存到map当中去
        m.put("login",login);
        m.put("password",password);
        
        return m;
    }

 tologin()函数去mysql中验证账号密码是否正确

private static boolean tologin(Map m) throws SQLException {
        //定义好需要在try外面用到的变量
        boolean flat=false;        //这个是判断是否登录成功的标识默认为false
        Connection conn=null;
        Statement statement=null;
        ResultSet rslogin=null;


        try {
          //注册数据库 可以理解为对数据库类型的声明
              DriverManager.registerDriver(new Driver());

          //建立起连接 需要传入的三个值分别为 url user password 
         //url格式(jdbc:mysql://ip地址/数据库名)root(数据库用户名)password(数据库密码)     conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user","root","shuyu404");

            //根据账号在mysql中进行查询的SQL语句
            String sql1="select password from t_user where uid='"+m.get("login")+"'";
            
            //创建数据库操作对象
            statement = conn.createStatement();

            //让数据库操作对象执行sql语句进行查询并且返回 ResultSet 结果
            rslogin= statement.executeQuery(sql1);

            //判断返回结果是否为空,如果为空则说明没有此账号
            if(rslogin.next()){

                //判断通过查询返回的密码与用户的输入是否一致 如果一致则把标记改为ture
                if(rslogin.getString(1).equals(m.get("password"))){
                    flat=true;
                }
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
                //对资源由内到外以此关闭
                rslogin.close();
                statement.close();
                conn.close();
        }
        返回判断结果
        return flat;
    }

 现在代码部分结束了让我们运行一下

 

 和数据库中的数据保持一致此案例成功

下面是案例的全部代码

package JDBC;

import com.mysql.cj.jdbc.Driver;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class JDBC实现登录 {
    public static void main(String[] args) throws SQLException {
        Map val=intoUI();
        boolean islogin= tologin(val);
        System.out.println(islogin?"登录成功":"登录失败账号或密码错误");
    }
    private static boolean tologin(Map m) throws SQLException {
        boolean flat=false;
        Connection conn=null;
        Statement statement=null;
        ResultSet rslogin=null;
        try {
            DriverManager.registerDriver(new Driver());
            conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/user","root","shuyu404");
            String sql1="select password from t_user where uid='"+m.get("login")+"'";
            statement = conn.createStatement();
            rslogin= statement.executeQuery(sql1);
            if(rslogin.next()){
                if(rslogin.getString(1).equals(m.get("password"))){
                    flat=true;
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
                rslogin.close();
                statement.close();
                conn.close();
        }
        return flat;
    }

    private static Map intoUI() {
        Map m=new HashMap<>();
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入账号:");
        String login=sc.nextLine();
        System.out.println("请输入密码:");
        String password=sc.nextLine();
        m.put("login",login);
        m.put("password",password);
        return m;
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号