千家信息网

java连接MySQL。ATM

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,package bank;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;impo
千家信息网最后更新 2026年11月01日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();                                 }}


数据 数据库 查询 输入 方法 平台 成功 账户 密码 类型 金额 用户 用户名 余额 内容 取钱 变量 存款 登录 人民 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 科技金融是不是互联网金融 互联网科技作文 互联网高科技股票 互联网科技宣传片 成都仁贤领冠互联网科技有限公司 互联网科技热点资讯 阿里互联网科技公司 中国互联网十大科技股排名 本届互联网博览会上的黑科技 迪庆互联网科技招生 佛山市拉法互联网科技有限公司 南博望互联网科技有限公司 山东有哪些互联网科技公司 互联网科技实习生岗位 城市宝互联网科技有限公司 西安有哪些互联网高科技企业 互联网的科技体现在哪里 华人运通互联网科技公司 互联网科技创业有什么好项目 花魁咖啡 广东万易互联网科技有限公司惠州分公司 互联网科技保险 科技大学互联网专业好不好 互联网教育科技公司vipkid 互联网科技研发水平 工业互联网展湾科技股份有限公司 神州科技互联网有限公司 九思连强互联网电子科技有限公司 广西科技产业互联网是什么
0