银行系统---数据库连接修改
Posted 熊猫卡洛斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了银行系统---数据库连接修改相关的知识,希望对你有一定的参考价值。
1.开户功能
public void kaihu() { // 开户方法 //输入姓名 Cuxuka cxk=new Cuxuka(); try{ Scanner sc1=new Scanner(System.in); System.out.println("请输入你的姓名:"); String st=sc1.nextLine(); cxk.setName(st); //输入身份证 System.out.println("请输入你的身份证号:"); for(int ig=0;ig>=0;ig++) { Scanner sc2=new Scanner(System.in); String str=sc2.nextLine(); String st1="\\\\d{15}|\\\\d{17}[\\\\dxX]"; if(str.matches(st1)) { cxk.setShenfen(str); break; } else { System.out.println("输入的身份证号不是18位身份号"); } } //设置账户密码 System.out.println("请输入你的密码:"); for(int ig=0;ig>=0;ig++) { Scanner sc3=new Scanner(System.in); String pass=sc3.nextLine(); String mm="\\\\d{6}"; if(pass.matches(mm)) { cxk.setPassword(pass); break; } else { System.out.println("请输入正确的6位数密码"); } } //生成6位数储蓄卡号 Random a=new Random(); int[] ch=new int[6]; StringBuilder str=new StringBuilder(); String s; for(int i=0;i<6;i++) { ch[i]=a.nextInt(9); } for(Integer c:ch) { str.append(c); } s=str.toString(); cxk.setCard(s); System.out.println("您的新卡号为:"+cxk.getCard()); //打开驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //获取数据库连接 String url="jdbc:oracle:thin:@localhost:1521:orcl"; Connection conn=DriverManager.getConnection(url, "test01", "123456"); //获取数据库声明 Statement sm=conn.createStatement(); sm.executeUpdate("insert into bank values(\'"+cxk.getName()+"\',\'"+cxk.getShenfen()+"\',\'"+cxk.getCard()+"\',\'"+cxk.getBalance()+"\',\'"+cxk.getPassword()+"\')"); System.out.println("开户成功,谢谢使用"); sm.close(); conn.close(); /* //将生成的数据导入银行卡list列表中 Yinhanglei.getYinhangLei().list.add(cxk.getCard()); //将生成的数据导入银行卡Map列表中 Yinhanglei.getYinhangLei().map.put(cxk.getCard(), cxk);*/ }catch (Exception e) { System.out.println("输入有误"); } }
查询功能:
//查询方法 public void chaxun(){ while(true){ try{ Scanner sc=new Scanner(System.in); System.out.println("请输入你要查询的卡号:"); String s=sc.nextLine(); // 访问数据库 //1、加载驱动:加载数据库提供的驱动类 Class.forName("oracle.jdbc.driver.OracleDriver"); //2、获取数据库连接,通过java的驱动管理器 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码 Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456"); String sql="select * from bank where ba_card=? "; PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, s); ResultSet rs=ps.executeQuery(); if(rs.next()) { String pw= rs.getString("ba_password"); Scanner sc1=new Scanner(System.in); System.out.println("请输入卡号密码:"); String s1=sc.nextLine(); if(pw.equals(s1)) { System.out.println("你查询的账号信息为:"); System.out.println(); System.out.println("******************************"); System.out.println(); System.out.println("姓名 身份证号 卡号 金额"); System.out.println(); System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance")); break; } else { int i=0; i++; if(i==3) { System.out.println("密码输入错误超过3次"); break; } else { System.out.println("密码输入有误"); } } rs.close(); ps.close(); conn.close(); break; } else { System.out.println("卡号输入有误请确认"); } }catch (Exception e) { System.out.println("输入有误"); } break; } }
3.存款功能
public void cun() { while(true) { Scanner sc=new Scanner(System.in); System.out.println("请输入你要查询的卡号:"); String s=sc.nextLine(); // 访问数据库 //1、加载驱动:加载数据库提供的驱动类 try { Class.forName("oracle.jdbc.driver.OracleDriver"); //2、获取数据库连接,通过java的驱动管理器 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码 Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456"); String sql="select * from bank where ba_card=? "; PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, s); ResultSet rs=ps.executeQuery(); if(rs.next()) { String pw= rs.getString("ba_password"); Scanner sc1=new Scanner(System.in); System.out.println("请输入卡号密码:"); String s1=sc.nextLine(); if(pw.equals(s1)) { System.out.println("你查询的账号信息为:"); System.out.println(); System.out.println("******************************"); System.out.println(); System.out.println("姓名 身份证号 卡号 金额"); System.out.println(); System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance")); } else { int i=0; i++; if(i==3) { System.out.println("密码输入错误超过3次"); break; } else { System.out.println("密码输入有误"); } } } else { System.out.println("卡号输入有误请确认"); } while(true) { Scanner sc2=new Scanner(System.in); System.out.println("请输入你要存入的金额:"); double cun=sc2.nextDouble(); // 实现存款方法 if(cun<0) { System.out.println("你输入的数据无效,系统将自动退出!谢谢使用"); } else { try { Class.forName("oracle.jdbc.driver.OracleDriver"); //2、获取数据库连接,通过java的驱动管理器 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码 Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456"); Statement sm=con.createStatement(); balance=rs.getDouble("ba_balance"); balance+=cun; String sql1="update bank set ba_balance=\'"+balance+"\'where ba_card=\'"+s+"\'"; sm.executeQuery(sql1); Statement rl=con.createStatement(); String sql2="select ba_balance from bank where ba_card=\'"+s+"\'"; ResultSet rt=rl.executeQuery(sql2); System.out.println("存款成功,剩余金额"+rs.getDouble("ba_balance")); sm.close(); con.close(); conn.close(); rs.close(); ps.close(); break; } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); continue; } } } } catch (Exception e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); continue; } } }
4.取款功能
public void qu() { try{ while(true) { Scanner sc=new Scanner(System.in); System.out.println("请输入你要查询的卡号:"); String s=sc.nextLine(); // 访问数据库 //1、加载驱动:加载数据库提供的驱动类 Class.forName("oracle.jdbc.driver.OracleDriver"); //2、获取数据库连接,通过java的驱动管理器 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码 Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456"); String sql="select * from bank where ba_card=? "; PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, s); ResultSet rs=ps.executeQuery(); if(rs.next()) { String pw= rs.getString("ba_password"); Scanner sc1=new Scanner(System.in); System.out.println("请输入卡号密码:"); String s1=sc.nextLine(); if(pw.equals(s1)) { System.out.println("你查询的账号信息为:"); System.out.println(); System.out.println("******************************"); System.out.println(); System.out.println("姓名 身份证号 卡号 金额"); System.out.println(); System.out.println(rs.getString("ba_name")+" "+rs.getString("ba_shenfen")+" "+rs.getString("ba_card")+" "+rs.getString("ba_balance")); } else { int i=0; i++; if(i==3) { System.out.println("密码输入错误超过3次"); break; } else { System.out.println("密码输入有误"); } } } else { System.out.println("卡号输入有误请确认"); } Scanner sc1=new Scanner(System.in); System.out.println("请输入你要取款的金额:"); double qu=sc1.nextDouble(); Class.forName("oracle.jdbc.driver.OracleDriver"); //2、获取数据库连接,通过java的驱动管理器 //url-数据库地址,不同的数据库写法不一样;user-用户名;password-密码 Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl ","test01", "123456"); Statement sm=con.createStatement(); balance=rs.getDouble("ba_balance"); // 实现取款方法 if(qu<balance) { balance-=qu; String sql1="update bank set ba_balance=\'"+balance+"\'where ba_card=\'"+s+"\'"; sm.executeQuery(sql1); Statement rl=con.createStatement(); String sql2="select ba_balance from bank where ba_card=\'"+s+"\'"; ResultSet rt=rl.executeQuery(sql2); System.out.println("取款成功,剩余金额"+rt.getDouble("ba_balance")); sm.close(); con.close(); conn.close(); rs.close(); ps.close(); } else if(qu<0) { System.out.println("你输入的数据无效,系统将自动退出!谢谢使用");; } else { System.out.println("余额不足"); } } } catch (Exception e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }
结果:
以上是关于银行系统---数据库连接修改的主要内容,如果未能解决你的问题,请参考以下文章