千家信息网

java连接MySQL。ATM

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,package bank;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;impo
千家信息网最后更新 2025年01月20日java连接MySQL。ATM
package bank;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.Scanner;public class JDBC {        static Statement sc=null;        static Scanner sca=new Scanner(System.in);        static String username;        public static void main(String[] args) throws Exception {                //该方法是 得到数据库的操作平台的。                getStatement();                System.out.println("well come to bank of china");                System.out.println("请选择你需要的内容:"+"1.注册"+"2.登陆");                int m=sca.nextInt();                for(int j=m;;){                        if(j==1){                                System.out.println("请输入新的账号");                                String bname=sca.next();                                System.out.println("请输入新的密码");                                String bpassword=sca.next();                                String sql="select * from bank where bname='"+bname+"'";                                ResultSet bq=sc.executeQuery(sql);//查询数据库                                if(bq.next()){//判断数据库中是否也存在注册的帐号                                        System.out.println("该帐号已被注册");                                }else{                                        sql="insert into bank (bname,bpassword) values('"+bname+"','"+bpassword+"')";                                        int i=sc.executeUpdate(sql);//更新数据库,用i来接收返回的数据                                        if(i!=0){                                        System.out.println("注册成功");                                        }else{                                        System.out.println("注册失败");                                        }                                }                        }                        else if(j==2){                                for(int w=1;w<=3;w++){                                System.out.println("请登录:");                                System.out.println("用户名:");                                username=sca.next();                                System.out.println("密码:");                                String password=sca.next();                                //调用查询账户方法,需要传入   用户名 和密码  返回int类型的值                                int num=queryAccount(username,password);                                //num==1 表示 数据库中有对应的用户名和密码                                        if(num==1){                                                System.out.println("登录成功");                                                //使用for死循环  进行操作                                                for(;;){                                                        System.out.println("请选择交易类型:");                                                        System.out.println("1.存钱   2.取钱   3.查询余额   4.转账    5.退卡");                                                        int zx=sca.nextInt();//输入操作类型                                                        if(zx==1){                                                                cun(); //调用存钱方法                                                        }else if(zx==2){                                                                qu();//调用取钱方法                                                        }else if(zx==3){                                                                query();//调用查询余额方法                                                        }else if(zx==4){                                                                zhuan();//调用转账方法                                                        }else if(zx==5){                                                                System.out.println("已退出。谢谢使用!请收好您的卡片!");                                                                System.exit(0);                                                        }else{                                                                System.out.println("输入错误,已退出。谢谢使用!");                                                                break;                                                        }                                                }                                        }else{                                                System.out.println("登录失败!您还有"+(3-w)+"次机会");                                        }                                }                                 System.exit(0);                                }                                else{                                        System.out.println("输入错误,已退出。谢谢使用!请收好您的卡片!");                                        break;                                }                        }                }        /**         * 取钱方法         * @throws Exception         */        public static void qu() throws Exception{                System.out.println("请输入你的取款金额:");                int bmoney=sca.nextInt();                if(bmoney0==0){                String sql="update bank set bmoney=bmoney-"+bmoney;                System.out.println(sql);                boolean a =sc.execute(sql);                if(!a){                        System.out.println("取款成功!");                        }                }else{                        System.out.println("本机只提供面值为100元人民币存取!");                }        }        /**         * 存钱方法         */        public static void cun() throws Exception{                                System.out.println("请输入你的存款金额:");                double bmoney=sca.nextDouble();//输入存款金额                //拼接  修改sql                  String sql="update bank set bmoney=bmoney+"+bmoney;                //在 操作平台中  执行  sql语句                boolean a=sc.execute(sql);                //判断是否成功                if(bmoney0==0){                if(!a){                        System.out.println("存款成功!");                        }                }else{                        System.out.println("本机只提供面值为100元人民币存取!");                }        }        public static int queryAccount(String bname,String bpassword) throws Exception{                //拼接查询sql   注意:  在拼接的时候,,字符串需要在前后加'(单引号)                String sql="select * from bank where bname='"+bname+"' and bpassword='"+bpassword+"'";                //在平台中执行查询sql ,并把查询的内容放在  ResultSet rs 里面                ResultSet rs=sc.executeQuery(sql);                //声明一个int 类型的变量  初始值 0                int num=0;                //如果查询的结果里面有值得话,就进入循环里面                while(rs.next()){  //rs.next()  是判断当前位置是否有数据,有就进入 没有就跳过                        num++;                }                return num;        }        /*         * 查询方法         */        public static void query() throws Exception{                //拼接查询sql   注意:  在拼接的时候,,字符串需要在前后加'(单引号)                String sql="select bmoney from bank where bname='"+username+"'";                //在平台中执行查询sql ,并把查询的内容放在  ResultSet rs 里面                ResultSet rs=sc.executeQuery(sql);                //声明一个double类型的变量  赋值 0                double bmoney=0;                //rs.next()  是判断当前位置是否有数据,有就进入 没有就跳过                while(rs.next()){                        //把查询出来的数据赋值给money 变量                        bmoney=rs.getDouble(1);                }                System.out.println("你的账户余额:"+bmoney);        }        public static void zhuan() throws Exception{                System.out.println("请输入您要转入的账户:");                String zname=sca.next();                System.out.println("请确认您要转入的账户:");                String zrname=sca.next();                if(zname.equals(zrname)){                String sql="select * from bank where bname='"+zname+"'";                ResultSet bq=sc.executeQuery(sql);//查询数据库                if(bq.next()){                        System.out.println("该账户存在,请输入转入金额:");                        int zrmoney=sca.nextInt();//输入转入金额                        //拼接  修改sql                      String  sql1="update bank set bmoney=bmoney+"+zrmoney+" WHERE bname='"+zname+"';";                    int m=sc.executeUpdate(sql1);                          String sql2="update bank set bmoney=bmoney-"+zrmoney+" WHERE bname='"+username+"';";                        int n=sc.executeUpdate(sql2);//更新数据库,用i来接收返回的数据                System.out.println("成功");                        }else{                                System.out.println("账户不存在");                        }                        }else{                                System.out.println("俩次输入不一致");                        }                }        /**         * 得到数据库操作平台方法         * @throws Exception         */        public static void getStatement() throws Exception{                //1\加载驱动                Class.forName("com.mysql.jdbc.Driver");                /**                 * 数据库连接URL                 * jdbc:mysql://IP:port/数据库名                 * jdbc:mysql://localhost:3306/score                 */                String url="jdbc:mysql://localhost:3306/atm";                //数据库用户名                String bname="root";                //数据库密码                String bword="556687a";                //使用驱动得到数据库连接,需要传入  url username password                Connection c=DriverManager.getConnection(url, bname, bword);                //得到数据库操作平台,平台                sc=c.createStatement();                                 }}


0