java连接MySQL。ATM
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,package bank;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;impo
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
数据库 数据集
太空感知数据库
学计算机网络技术做什么工作
惠州数字软件开发费用
软件开发产权共有 税率
华为手机识别数据库
戴尔服务器开机后黑屏
网络安全ipv9
一刀传世服务器冠名权是干什么
app软件开发工程师工资
澳门导航软件开发
郑州智加工业互联网科技有限公司
软件开发人员培训班
漳平应用软件开发企业
2022年网络安全会议记录
网络安全课心得200字
可能出现网络安全问题
炒股软件开发需要什么设备
网络安全议论文开头
游戏软件开发有限公司
软件开发公司工具
微信数据库修复需要多久
自来水公司网络技术员
方程序化交易的服务器
聊天内容放到什么数据库
数据库中修改表中时间
网络安全有关的文字和图片
网络技术对体育课堂作用
如何进入局域网服务器
首页导航软件开发