zoukankan      html  css  js  c++  java
  • 测试JDBCUtils的重用性

    package cn.itcast.jdbc;

    import cn.itcast.util.JDBCUtils;

    import java.sql.*;
    import java.util.Properties;
    import java.util.Scanner;

    /**
    * @author newcityman
    * @date 2019/8/15 - 21:28
    * 1、 通过键盘录入用户名和密码
    * 2、 判断用户是否登录成功
    */
    public class JDBCDemo08 {

    public static void main(String[] args) {
    System.out.println("请输入用户名:");
    Scanner sc = new Scanner(System.in);
    String username = sc.next();
    System.out.println("请输入密码");
    String password = sc.next();

    /* boolean flag = new JDBCDemo08().login(username, password);
    if (flag) {
    System.out.println("登录成功");
    } else {
    System.out.println("用户名或密码错误,请联系系统管理员");
    }*/

    boolean f = new JDBCDemo08().login2(username, password);
    if (f) {
    System.out.println("登录成功");
    } else {
    System.out.println("用户名或密码错误,请联系系统管理员");
    }


    }

    /*
    *登录方法
    *
    * */

    public boolean login(String username, String password) {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    if (username == null || password == null) {
    return false;
    }
    try {
    // 1、 获取连接
    conn = JDBCUtils.getConnection();
    // 2、 定义sql
    String sql = "select * from user where name='" + username + "'and password='" + password + "'";
    System.out.println(sql);
    // 3、 获取执行sql的对象
    stmt = conn.createStatement();
    // 4、执行查询
    rs = stmt.executeQuery(sql);
    // 5、判断
    /*if (rs.next()) {
    System.out.println("登录成功");
    return true;
    } else {
    System.out.println("用户名或密码错误,请重新输入");
    return false;
    }*/
    return rs.next();
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    JDBCUtils.close(rs, stmt, conn);
    }
    return false;
    }


    /*
    *登录方法2:防止sql注入
    *
    * */

    public boolean login2(String username, String password) {
    Connection conn = null;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    if (username == null || password == null) {
    return false;
    }
    try {
    // 1、 获取连接
    conn = JDBCUtils.getConnection();
    // 2、 定义sql
    String sql = "select * from user where name=? and password=?";
    // 3、 获取执行sql的对象
    stmt = conn.prepareStatement(sql);
    stmt.setString(1,username);
    stmt.setString(2,password);
    // 4、执行查询
    rs = stmt.executeQuery();
    // 5、判断
    /*if (rs.next()) {
    System.out.println("登录成功");
    return true;
    } else {
    System.out.println("用户名或密码错误,请重新输入");
    return false;
    }*/
    return rs.next();
    } catch (SQLException e) {
    e.printStackTrace();
    } finally {
    JDBCUtils.close(rs, stmt, conn);
    }
    return false;
    }
    }
  • 相关阅读:
    累加和校验算法(CheckSum算法)
    云锵投资 2021 年 09 月简报
    云锵投资 2021 年 08 月简报
    断言与忽略断言
    出现 undefined reference to `cv::String::deallocate()'的解决方法
    about of string
    esp32: A stack overflow in task spam_task has been detected.
    IDEA部署Tomcat报错:No artifacts marked for deployment
    在safari浏览器上使用php导出文件失败
    laravel中使用vue热加载时 Cannot read property 'call' of undefined BUG解决方案
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11360933.html
Copyright © 2011-2022 走看看