zoukankan      html  css  js  c++  java
  • 小型网上自助银行

    1、数据表

    2、DBconnection类(连接数据库)

    package LESSON5;
    import java.sql.*;//*为通配符,表示所有的。即导入sql包下的所有类
    public class DBconnection {
        private String driver="com.mysql.jdbc.Driver";//驱动程序名  
        private String url="jdbc:mysql://localhost:3306/db_demo?useUnicode=true&characterEncoding=utf8";
        private String user="root";//MySQL配置时的用户名
        private String password="123456";//MySQL配置时的密码
        public Connection getConnection(){
             Connection con=null;
             try {
                Class.forName(driver);
            } catch (ClassNotFoundException e) {
                
                e.printStackTrace();
            }
             try {
                con=DriverManager.getConnection(url, user, password);
            } catch (SQLException e) {            
                e.printStackTrace();
            }        
            return con;
        }                    
    }

    3、测试类

    package LESSON5;
    import java.util.*;
    import java.sql.*;
    class Account{
        public float show(String name)  throws Exception{//显示余额
            DBconnection dbconnection=new DBconnection();
            Connection conn=dbconnection.getConnection();
            String sql = "select * from users where username='"+name+"' "; 
            Statement statement;        
            statement = conn.createStatement();
            ResultSet rs=statement.executeQuery(sql);
            String username=null;
            String accountid=null;
            float ba=0;    
            //System.out.println("用户名"+"	"+"账户"+"	"+"账户余额");
            while(rs.next()){
            accountid=rs.getString("accountid");        
            ba=rs.getFloat("balance");
            System.out.println("账户"+"		 "+"余额");
            System.out.println(accountid+"	"+ba); 
            }
            return ba;//返回新的账户余额供下一次存取款操作使用        
        }    
        public void deposit(float amount,float balance,String username)throws Exception{//存款
            float NewBalance=amount+balance;
            DBconnection dbconnection=new DBconnection();
            Connection conn=dbconnection.getConnection();
            int i=0;
            String sql="update users set  balance=?  where username=?" ;//注意要有where条件        
            PreparedStatement preStmt =conn.prepareStatement(sql);
            preStmt.setFloat(1, NewBalance);
            preStmt.setString(2,username);
            preStmt.executeUpdate();    
        }
        public void withdraw(float amount,float balance,String username)throws Exception{//取款
            if(amount<=balance){
            float NewBalance=balance-amount;
            DBconnection dbconnection=new DBconnection();
            Connection conn=dbconnection.getConnection();
            int i=0;
            String sql="update users set  balance=?  where username=?" ;//注意要有where条件        
            PreparedStatement preStmt =conn.prepareStatement(sql);
            preStmt.setFloat(1, NewBalance);
            preStmt.setString(2,username);        
            preStmt.executeUpdate();                                    
        }
        else{
            System.out.println("余额不足");
        }
    }
    }
    public class exercise3 {
        public static void main(String[] args) throws Exception {
            System.out.println("欢迎来到XX银行自助服务终端");
            DBconnection dbconnection=new DBconnection();
            Account account=new Account();        
            Scanner sc=new Scanner(System.in);
            int num=3;
            while(true){
            System.out.println("请输入用户名");
            String name=sc.nextLine();
            System.out.println("请输入密码");
            String p=sc.nextLine();
            String sql = "select * from users where username='"+name+"'and password='"+p+"'";         
            Connection conn=dbconnection.getConnection();
            Statement statement = conn.createStatement();
            ResultSet rs=statement.executeQuery(sql);//ResultSet类,用于存放获取的结果集   
            String username=null;
            String accountid=null;
            float ba=0;    
            if(rs.next()){
                username=rs.getString("username");
                accountid=rs.getString("accountid");        
                ba=rs.getFloat("balance");
                System.out.println("欢迎您,"+username);
                System.out.println("账户"+"		 "+"余额");
                System.out.println(accountid+"	"+ba);        
                rs.close();
                conn.close();    
                while(true){                                
                System.out.println("请输入要执行的操作:1 存款 2取款 3查询余额 4退出");
                int i=sc.nextInt();
                if(i==1){
                    System.out.println("请输入存款金额");
                    float amount1=sc.nextFloat();
                    account.deposit(amount1,ba,username);
                    ba=account.show(username);                    
                }else if(i==2){
                    System.out.println("请输入取款金额");
                    float amount2=sc.nextFloat();
                    account.withdraw(amount2,ba,username);
                    ba=account.show(username);                                
                }else if(i==3){
                    account.show(username);                
                }
                else if(i==4){
                    System.exit(0);                
                }
                else{
                    System.out.println("输入错误");
                }                                                                                
                }   
            }
            else{
                num--;
                if(num==0){
                    System.out.println("您的账户已冻结");
                    break;
                }
                System.out.println("账号或密码错误,您还有"+num+"次机会.");
            }
            }     
        }
    }

    4、运行结果

  • 相关阅读:
    Monitor All SQL Queries in MySQL (alias mysql profiler)
    to config RBS/RBLOB in sharepoint
    Chapter 10 EF 6 Support
    分布式网站架构后续:zookeeper技术浅析
    js中的json对象详细介绍
    JS通用方法总结(一)
    combobox远程加载数据的总结和Json数据的小结
    iframe自适应方法
    简单理解Hibernate三种状态的概念及互相转化
    hibernate的save()和persit()之间的区别
  • 原文地址:https://www.cnblogs.com/qfdy123/p/11029118.html
Copyright © 2011-2022 走看看