【Java】【JDBC】简单登陆

2017-04-08  本文已影响30人  JerichoPH

模拟简单登陆

/**
 * 模拟登陆
 */
public class Demo {
    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String signinName = scanner.nextLine();
        System.out.println("请输入密码:");
        String pwd = scanner.nextLine();
        User user = new User(signinName, pwd);
        System.out.println(new User(signinName, pwd).login() ? "登陆成功" : "账号或密码不匹配");
    }
}
/**
 * 用户表实体类
 */
public class User {
    private String signinName;
    private String pwd;
    public User(String signinName, String pwd) {
        this.signinName = signinName;
        this.pwd = pwd;
    }
    
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        
        User user = (User) o;
        
        if (signinName != null ? !signinName.equals(user.signinName) : user.signinName != null) return false;
        return pwd != null ? pwd.equals(user.pwd) : user.pwd == null;
    }
    
    @Override
    public int hashCode() {
        int result = signinName != null ? signinName.hashCode() : 0;
        result = 31 * result + (pwd != null ? pwd.hashCode() : 0);
        return result;
    }
    
    @Override
    public String toString() {
        return "User{" +
                       "signinName='" + signinName + '\'' +
                       ", pwd='" + pwd + '\'' +
                       '}';
    }
    
    public String getSigninName() {
        return signinName;
    }
    
    public void setSigninName(String signinName) {
        this.signinName = signinName;
    }
    
    public String getPwd() {
        return pwd;
    }
    
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    
    /**
     * 执行登陆
     *
     * @return boolean
     * @throws Exception ?
     */
    public boolean login() throws Exception {
        Connection connection = MyDatabase.getConn();
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("SELECT * FROM user WHERE signin_name=" + signinName);
        
        String pwd = "";
        while (resultSet.next()) {
            pwd = resultSet.getString("pwd");
        }
        MyDatabase.kill(connection, statement, resultSet);
        return pwd.equals(MyString.Md5(this.pwd));
    }
}
上一篇下一篇

猜你喜欢

热点阅读