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(); }}
数据
数据库
查询
输入
方法
平台
成功
账户
密码
类型
金额
用户
用户名
余额
内容
取钱
变量
存款
登录
人民
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dellr720服务器更换内存
网络安全灰色地带
黑客数据库有哪些
剑网3数据库文件损坏
腾讯数据库技术
如何搭建免流服务器
网络安全介绍全英文ppt
mt4选择交易服务器
品掌优汇软件开发
服务器启动后自动更改密码
360网络安全绵阳基地
网络安全近三年出现的问题
任子行网络安全吗
网络技术传输层功能
软件开发企业三体系审核
网络安全做什么
网络安全相关法律绘画作品
互联网科技发展的底线
软件开发公司毛利怎么计算
樱花服务器localhost
网络安全维护工资高吗
网络安全监察专业属什么学科
软件开发人员测评标准体系
联盟神庙任务大全数据库
金蝶系统无法连接数据库
合肥视频点播软件开发费用
服务器如何调试windows
将外网服务器端口映射到本地端口
我的世界服务器阿尔宙斯能不能刷
蜀山缥缈录服务器