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(bmoney%100==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(bmoney%100==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();
	}
}
时间: 2024-12-04 05:33:00

java连接MySQL。ATM的相关文章

java连接mysql

1.下载jar包 网址:http://dev.mysql.com/downloads/ -->点击:"MySQL Connector/J 5.1 - Generally Available (GA) release (recommended)" -->点击:(mysql-connector-java-5.1.10.zip)后面的download按钮 -->点击:"? No thanks, just take me to the downloads!"

java连接mysql的过程

今天突然心血来潮,想要用java连接mysql,记得以前是在vs2010的环境下用C#连接sql sever,其实他们的方法都差不多. 现在就可以简单的介绍下java如何连接mysql 第一步,设计mysql的数据库,设计数据库的时候特别要注意,数据库名是xsxx,表名字是xs.注意在设置字符的时候一定要选用utf8,不然就会以你不懂的形式出现. 第二步:在esclip中新建项目,项目名称是TestJDBC,新建class名称为TestJDBC,添加引用项目文件 第三步:项目中的相关代码: --

Java连接MySQL Warning: Establishing SSL connection without server&#39;s identity verification is not recommended

1. 数据库 1.1 创建表 在当前数据库students中,创建数据表student: 1 mysql> create table student( 2 -> studentid char(10),#学生ID 3 -> name varchar(10),#学生姓名 4 -> age smallint,#学生年龄 5 -> grade smallint)#成绩 6 -> ; 1.2 插入信息: INSERT student VALUES("1*********

通过java连接mysql总结

简介:通过java连接mysql需要用到JDBC驱动.JDBC驱动安装在mysql-client客户端,mysql-server服务端不需要安装. 数据库安装初始化略.测试用到的命令: 1.创建测试用库,表,字段: create database score; use score; create table score(id nvarchar(10),stu_id nvarchar(10),c_name nvarchar(10),grade nvarchar(10)); insert into

java连接MySQL,SQL server数据库

java连接MySQL: 首先导入jar包文件: 下载地址:http://download.csdn.net/detail/chongzi321/5703641 然后: 1 Connection ct = null; 2 Statement sm = null; 3 ResultSet rs = null; 4 5 try{ 6 Class.forName("com.mysql.jdbc.Driver"); 7 ct = DriverManager.getConnection(&quo

java连接MySQL进行增删改操作时报错

java连接MySQL数据库后执行execute语句,控制台总是报错,如下: Exception in thread "main" java.sql.SQLException: Could not retrieve transation read-only status server ……? Caused by: java.sql.SQLException: Unknown system variable 'tx_read_only' 我捣鼓了一整个下午,参考别人的代码,甚至完全套用别

Linux系统Java连接Mysql数据库

Linux系统下Java连接Mysql数据库方法与Windows下类似,具体步骤如下: 下载JDBC(驱动):mysql-connector-java-5.1.37.tar.gz 解压下载的数据包:tar -zxvf mysql-connector-java-5.1.37.tar.gz 解压后,mysql-connector-java-5.1.29-bin.jar位于mysql-connector-java-5.1.29目录下. 配置解压后,mysql-connector-java-5.1.29

java连接MySQL数据库

插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更新这一些列的博客,记录学习的点滴.第一篇主要是java读取mysql数据库文件.安装及配置文件稍后会上传到我的百度网盘供大家下载.其他的介绍在网上都可以找到相关的博客,下面直接给出源代码. mysql建立一个名为"vge_whu"的数

Java连接MySQL随笔

//连接时要注意所有jar,以及环境搭建好: package util; import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException; import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement; public class Jdbc {    public static void main(String[] args)

Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句&#39;&#39; &quot;&quot;作用

//方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Logi