MySQL学习小记(三) 结合JDBC实现用户的登录响应

news/2024/5/18 23:27:21 标签: java, 数据库, mysql, jdbc

本次用到的数据库为之前建的acme中的users表,实现简易登录

MySQL学习小记(一)_☆迷茫狗子的秘密基地☆-CSDN博客icon-default.png?t=LA92https://blog.csdn.net/qq_39391544/article/details/121354629

目录

users表

代码(注释)

演示


 

users表

 

 

代码(注释)

java">import java.sql.*;
import java.util.*;

public class userLogin{
    public static void main(String[] args){
        while(true)
        {
            Map<String, String> userInfor = init();

            boolean iSRight = tryLogin(userInfor);
            if(iSRight) System.out.println("登录成功.");
            else System.out.println("登录失败.");
        }
    }

    public static Map<String, String> init(){
        Scanner input = new Scanner(System.in);

        System.out.print("邮箱: ");
        String email = input.nextLine();
        System.out.print("密码: ");
        String pwd = input.nextLine();

        Map<String, String> userInfor = new HashMap<>();
        userInfor.put("userEmail", email);
        userInfor.put("userPwd", pwd);
        return userInfor;
    }
    public static boolean tryLogin(Map<String, String> userInfor){
        Connection con = null;
        Statement st = null;
        ResultSet res = null;
        boolean iSRight = false;

        try{
            //Ⅰ. 注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            //Ⅱ. 进行连接,并获取要操作的数据库对象
            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/acme","root", "root");
            st = con.createStatement();

            //Ⅲ. 定义SQL指令并执行
            String sqlOption = "SELECT * FROM users WHERE email='"
                    +userInfor.get("userEmail")+"'AND password='"
                    +userInfor.get("userPwd")+"'";
            res = st.executeQuery(sqlOption);

            //Ⅳ. 处理结果集
            if(res.next()){
                iSRight = true;
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally {
            //Ⅴ. 关闭资源
            if(res != null){
                try{
                    res.close();
                }catch (SQLException e){
                    e.printStackTrace();;
                }
            }
            if(st != null){
                try{
                    st.close();
                }catch (SQLException e){
                    e.printStackTrace();;
                }
            }
            if(con != null){
                try{
                    con.close();
                }catch (SQLException e){
                    e.printStackTrace();;
                }
            }
            return iSRight;
        }
    }
}

演示


http://www.niftyadmin.cn/n/816547.html

相关文章

【题解】Luogu SP8791 DYNALCA - Dynamic LCA

原题传送门 这题用Link-Cut-Tree解决&#xff0c;Link-Cut-Tree详解 这道题的难点就在如何求LCA&#xff1a; 我们珂以先对其中一个点进行access操作&#xff0c;然后对另一个点进行access操作&#xff0c;因为LCA到根的边一定都由第一次access变为实边了&#xff0c;在之后的这…

a:hover代表什么含义_螺栓头上的数字代表什么含义?螺栓强度等级划分

工程师们在使用螺栓的时候有没有注意到螺栓头上都是印着数字的&#xff0c;那么这些数字代表什么含义呢&#xff1f;随便找了几张实际生产过程中遇到的螺栓&#xff0c;下图是柴油发动机上的缸盖螺栓&#xff0c;其上印着8.8字样某柴油发动机上的螺栓临工的平地机&#xff0c;同…

[D-OJ练习] 归并排序验证性实验

请创建一个一维整型数组用来存储待排序关键码&#xff0c;关键码从数组下标为1的位置开始存储&#xff0c;下标为0的位置不存储关键码。输入关键码的个数&#xff0c;以及各个关键码&#xff0c;采用归并排序的方法对关键码数组进行排序&#xff0c;输出每轮的中间过程。 输入…

linux查找安装jdk,配置JAVA_HOME

简介&#xff1a; 在linux中查找java&#xff0c;并配置JAVA_HOME 目录 一、查找java: 二、配置JAVA_HOME: 一、查找java: which java 输出: /usr/bin/java 查找usr ls -lr /usr/bin/java 输出: /usr/bin/java -> /etc/alternatives/java查找etc ls -lrt /etc/al…

BJWC2011 元素

传送门 线性基有一个重要的性质&#xff1a;线性基中任意一个非空子集的异或和不为0。 这好像就是给这道题准备的&#xff01; 立即得到做法&#xff1a;按权值从大到小排序&#xff0c;直接插入线性基计算答案即可。 #include<iostream> #include<cstdio> #includ…

canoe变量和信号_CANoe教程 | 分析功能-Trace窗口

概述Trace窗口是做总线分析时最常用的窗口&#xff0c;主要用于记录总线测量时的各种活动&#xff0c;如&#xff1a;报文收发系统变量和环境变量错误帧诊断服务Trace窗口提供了多种功能用于在线和离线分析总线,如&#xff1a;报文解析、过滤、统计丰富的内容搜索功能列分类和排…

电脑分屏没有声音_6台电脑同时无线投屏触控一体机

6台电脑同时无线投屏触控一体机目前市面上的无线投屏器最多是四分屏显示&#xff0c;也就是四台电脑同时投屏在触控一体机屏幕上。在2019年8月份的时候&#xff0c;AWIND奇机在做季度总结的时候&#xff0c;发现除了四分屏需求之外&#xff0c;6分屏显示的需求居然排在第二&…

tf.truncated_normal()

tf.truncated_normal(shape, mean0.0, stddev1.0, dtypetf.float32, seedNone, nameNone)1从截断的正态分布中输出随机值。 生成的值服从具有指定平均值和标准偏差的正态分布&#xff0c;如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。 在正态分布的曲线中&#xff0c…