当前位置:Gxlcms > 数据库问题 > java中ATM与数据库Mysql的连接

java中ATM与数据库Mysql的连接

时间:2021-07-01 10:21:17 帮助过:39人阅读

 java.sql.*;  

  • import java.util.*;  

  • public class ATM1 {  

  •     String code;  

  •     int pass;  

  •     double money;  

  •     int i=1;  

  •     //检查登录  

  •     public void checkLogin(){  

  •         int i=1;  

  •         while(i<=3){  

  •             System.out.print("请输入您的卡号:");  

  •             Scanner sc=new Scanner(System.in);  

  •             String code_=sc.nextLine();  

  •             System.out.print("请输入您的密码:");  

  •             int pass_=sc.nextInt();  

  •             try{  

  •                 //加载驱动  

  •                 Class.forName("com.mysql.jdbc.Driver");  

  •                 //建立连接  

  •                 java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","root");     

  •                 //创建sql传送对象  

  •                 Statement stmt = conn.createStatement();  

  •                 //将sql语句通过sql传送对象传送到数据库并执行,返还结果集  

  •                 String sql = "select * from account where code=‘"+code_+"‘and pass="+pass_;  

  •                 ResultSet rs = stmt.executeQuery(sql);    

  •                 //当账号、密码与sql中的账号与密码相对应的时候  

  •                 //把sql中的相关数据传送到目前变量以便进行数据操作  

  •                 if(rs.next()){  

  •                     code = rs.getString(1);  

  •                     pass = rs.getInt(2);  

  •                     money = rs.getDouble(3);  

  •                     loadSys();  

  •                 }  

  •                 rs.close();  

  •                 stmt.close();  

  •                 conn.close();  

  •             }  

  •             //捕获异常  

  •             catch (Exception e){  

  •                 System.out.println(e);  

  •             }  

  •             //出现三次错误之后提示  

  •             i++;  

  •             if( i == 3){  

  •             System.out.print("您已经输错三次密码,该卡已经被锁,请及时到相关网点咨询!");  

  •             }  

  •         }  

  •     }  

  •     //保存数据  

  •     //注意;下面的关键字(    "pass、code、money")要与数据库中的名字一样,避免出现错误  

  •     public void saveDb(){  

  •         try{  

  •             Class.forName("com.mysql.jdbc.Driver");  

  •             java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","root");     

  •             Statement stmt = conn.createStatement();  

  •             String sql="update account set pass ="+pass+" where code=‘"+code+"‘";    

  •             //dode为String型,所以要用‘’括起来  

  •             String sql1="update account set money="+money+" where code=‘"+code+"‘";  

  •             stmt.executeUpdate(sql);    //update操作进行数据更新  

  •             stmt.executeUpdate(sql1);  

  •             stmt.close();  

  •             conn.close();  

  •         }     

  •         catch (Exception e){  

  •                 System.out.println(e);  

  •             }  

  •           

  •     }  

  •     //欢迎界面  

  •     public static void welcome(){  

  •         System.out.println("!*****************************************!");  

  •         System.out.println("!*************欢迎使用华夏银行*************!");  

  •         System.out.println("!*****************************************!");  

  •     }  

  •     //系统主界面  

  •     public void loadSys(){  

  •         System.out.println(".------------------------------------.");  

  •         System.out.println("1 查询余额                      存款 2");  

  •         System.out.println("3 取款                      修改密码 4");  

  •         System.out.println("5 退出                                ");  

  •         System.out.println(".------------------------------------.");  

  •         System.out.print("请输入相应的功能选项数字:");  

  •         Scanner sz=new Scanner(System.in);  

  •         int num=sz.nextInt();         

  •         switch(num){  

  •             case 1:     

  •                 chaxun();  

  •                 break;  

  •             case 2:     

  •                cunkuan();  

  •                break;  

  •             case 3:     

  •                qukuan();  

  •                break;  

  •             case 4:     

  •                xiugai();  

  •                break;  

  •             case 5:     

  •                quit();  

  •                break;  

  •             default:  

  •                System.out.println("您输入的数字有误!");  

  •                loadSys();  

  •         }  

  •     }  

  •     //查询余额  

  •     public void chaxun(){  

  •         System.out.println("您卡上的余额为:" +money);  

  •         loadSys();  

  •     }  

  •     //存款  

  •     public void cunkuan(){  

  •         System.out.print("请输入存款金额:");  

  •         Scanner ck=new Scanner(System.in);  

  •         double money1=ck.nextDouble();  

  •         money=money+money1;  

  •         saveDb();  

  •         System.out.println("您卡上的余额为:" +money);  

  •         System.out.println("请收好您的卡!");  

  •         loadSys();  

  •     }  

  •     //取款  

  •     public void qukuan(){  

  •         System.out.print("请输入取款金额:");  

  •         Scanner qk=new Scanner(System.in);  

  •         double money2=qk.nextDouble();  

  •         if(money2>money){  

  •             System.out.println("您的余额不足!");    

  •             qukuan();  

  •         }else{  

  •             money=money-money2;  

  •             saveDb();  

  •             System.out.println("您卡上的余额为:" +money);  

  •             System.out.println("请收好您的现金!");   

  •             loadSys();  

  •         }  

  •     }  

  •     //修改密码  

  •     public void xiugai(){  

  •         int cs = 0;  

  •         System.out.print("请输入原密码:");   

  •         Scanner mm=new Scanner(System.in);  

  •         int pass1=mm.nextInt();  

  •         System.out.print("请输入新密码:");   

  •         int pass2=mm.nextInt();  

  •         System.out.print("请再次输入新密码:");   

  •         int pass3=mm.nextInt();  

  •         if(pass==pass1&& pass2==pass3){  

  •             System.out.println("修改密码成功!");   

  •             pass=pass2;  

  •             saveDb();  

  •             loadSys();  

  •         }else{  

  •             if(cs<2){  

  •                System.out.print("您输入的密码有误!");   

  •                cs++;  

  •                xiugai();  

  •             }else{  

  •                quit();  

  •             }  

  •         }  

  •     }  

  •     //退出  

  •     public void quit(){  

  •         System.exit(1);       

  •     }  

  •     //主函数  

  •     public static void main(String args[]){  

  •         /*try{ 

  •             Class.forName("com.mysql.jdbc.Driver"); 

  •             java.sql.Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/atmdb","root","root"); 

  •             Statement stmt = conn.createStatement(); 

  •             String sql = "select * from account"; 

  •             ResultSet rs = stmt.executeQuery(sql); 

  •             while (rs.next()){ 

  •                 String code = rs.getString(1); 

  •                 int pass = rs.getInt(2); 

  •                 double money = rs.getDouble(3); 

  •                 System.out.println(code+"|"+pass+"|"+money); 

  •             } 

  •             rs.close(); 

  •             stmt.close(); 

  •             conn.close(); 

  •         } 

  •         catch(Exception e){ 

  •         System.out.println(e); 

  •         }*/  

  •         ATM1 atm = new ATM1();  

  •         atm.welcome();  

  •         atm.checkLogin();  

  •         }     

  • }  


  • 本文出自 “12156507” 博客,请务必保留此出处http://12166507.blog.51cto.com/12156507/1865135

    java中ATM与数据库Mysql的连接

    标签:public   import   double   数据库   money   

    人气教程排行