如何使用IO与JDBC连接

问题描述:

这是我写db查询的方法。如何使用IO与JDBC连接

 public static void post() throws Exception{ 

     int clientMPNumber = Parcel.typeClientNumber(); 
     int orderPassword = Parcel.generatePass(); 

     try{ 
      Connection con = ConnectionDB.getConnection(); 
      PreparedStatement posted = con.prepareStatement("UPDATE `BankDB`.`Info` SET `Money`='77777' WHERE `ClientID`='77' AND `ClientPass`='1111';"); 

      posted.executeUpdate(); 
     }catch(Exception e){System.out.println(e);} 
    finally{  
     System.out.println("Insert completed"); 
    } 
    } 

我想要做类似ATM机的事情。所以我希望用户输入他的ID和密码,然后用户可以提款或存款。 所以我想检查登录数据的正确性。用户需要输入正确的ID /密码[登录/密码放置在MySQL DB中]。

PreparedStatement posted = con.prepareStatement("UPDATE `BankDB`.`Info` SET `Money`='77777' WHERE `ClientID`='USER TYPES IT' AND `ClientPass`='USER TYPES IT';"); 

有一句话:“USER TYPES IT”,这是我的问题。我想在这里使用扫描仪或类似的东西。我该怎么做?

+0

你检查[Java的扫描仪教程](HTTP ://javatutorialhq.com/java/util/scanner-class-tutorial/)已经?这是一个开始的好地方。另外,关于数据访问:在现实生活中,您希望将绑定变量用于用户输入,并且永远不应该以纯文本形式存储密码;你存储他们散列(用一些盐)。 –

+0

你不应该在'finally'块中打印'Insert completed'。它可能不完整。你应该在'try'块中打印它。 – EJP

一种你原型(只是举个例子,你应该分手了部分获取用户ID,密码,这个功能之外更好的做法):

public void post(){ 
    Scanner sc = new Scanner(System.in); 
    System.out.println ("please enter user id:"); 
    String userId = sc.nextLine(); 
    System.out.println("please enter password:"); 
    String pass = sc.nextLine(); 
    Connection con; 
    PreparedStatement posted; 
    try { 
     con = ConnectionDB.getConnection(); 
     String sql = "UPDATE `BankDB`.`Info` SET `Money`='77777' WHERE `ClientID`=? AND `ClientPass`=?"; 
     posted = con.prepareStatement(sql); 
     posted.setString(1, userId); 
     posted.setString(2, pass); 
     posted.executeUpdate(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     posted.close(); 
     con.close(); 
    } 
} 
+0

非常感谢你的回答。我在最后一块中有一个小错误。 “发布无法解析”和“无法解析”。你知道为什么吗? :D – damianm

+0

,我不确定扫描仪为什么只能使用一次。不是两次 – damianm

+0

我编辑了代码,将'con'和''''从'try'块移出,以便可以在'finally'块中到达。你说'扫描仪只工作一次,不是两次',你是什么意思? –