【Java】JDBC编写六步及模拟用户登陆案例

JDBC的编写的六个步骤
1.注册驱动
2.获取连接
3.获取数据库操作对象
4.执行sql
5.处理数据集
6.释放资源
演示案例:
模拟用户登录案例功能的实现。程序运行的时候,提供一个输入的入口,可以让用户输入用户名和密码。

初始化用户界面的方法

private static Map<String, String> initUI() {
    Scanner s = new Scanner(System.in);

    System.out.println("用户名");
    String loginName = s.nextLine();

    System.out.println("密码");
    String loginPwd = s.nextLine();

    Map<String,String> userLogininfo = new HashMap<>();
    userLogininfo.put("loginName",loginName);
    userLogininfo.put("loginPwd",loginPwd);

    return userLogininfo;
}

验真用户名和密码的方法

private static boolean login(Map<String, String> userLoginInfo) {
    //JDBC代码
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    //单独定义变量
    String loginName = userLoginInfo.get("loginName");
    String loginPwd = userLoginInfo.get("loginPwd");
    //打标机
    boolean loginSuccess = false;
    try {
        //1 注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2 获取连接
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode","root",
                "bj5201314...");
        //3 获取数据库操作对象
        stmt = conn.createStatement();
        //4 执行sql
        String sql = "select * from t_user where loginName = '"+ loginName+
                "' and loginPwd = '"+loginPwd+"'";
        rs  =stmt.executeQuery(sql);
        //5 处理结构集
        if(rs.next()){
            //登录成功
            loginSuccess = true;
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException throwables) {
        throwables.printStackTrace();
    } finally {
        //6 释放资源
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }if (conn != null) {
            try {
                conn.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
    return loginSuccess ;
}

主函数

public static void main(String[] args) {
    //初始化一个界面
    Map<String,String> userinfo = initUI();
    //验真用户名和密码
    boolean loginSuccess = login(userinfo);
    System.out.println(loginSuccess ? "登陆成功" : "登陆失败");
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值