`
edr_
  • 浏览: 169567 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java中ATM与数据库Mysql的连接

 
阅读更多
昨晚太晚了,所以没写博客就睡觉了,今天师兄又开始讲新的内容(jsp)所以趁刚刚弄懂了一点点jsp,现在写写昨晚的的ATM 里面还有很多自己不是很理解的地方,现在只是很浅的知道操作,还不是清除内存是怎么运行的!先记录起来吧!
import java.sql.*;
import java.util.*;
public class ATM1 {
	String code;
	int pass;
	double money;
	int i=1;
	//检查登录
	public void checkLogin(){
		int i=1;
		while(i<=3){
			System.out.print("请输入您的卡号:");
			Scanner sc=new Scanner(System.in);
			String code_=sc.nextLine();
			System.out.print("请输入您的密码:");
			int pass_=sc.nextInt();
			try{
				//加载驱动
				Class.forName("com.mysql.jdbc.Driver");
				//建立连接
				java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","root");   
				//创建sql传送对象
				Statement stmt = conn.createStatement();
				//将sql语句通过sql传送对象传送到数据库并执行,返还结果集
				String sql = "select * from account where code='"+code_+"'and pass="+pass_;
				ResultSet rs = stmt.executeQuery(sql);	
				//当账号、密码与sql中的账号与密码相对应的时候
				//把sql中的相关数据传送到目前变量以便进行数据操作
				if(rs.next()){
					code = rs.getString(1);
					pass = rs.getInt(2);
					money = rs.getDouble(3);
					loadSys();
				}
				rs.close();
				stmt.close();
				conn.close();
			}
			//捕获异常
			catch (Exception e){
				System.out.println(e);
			}
			//出现三次错误之后提示
			i++;
			if( i == 3){
			System.out.print("您已经输错三次密码,该卡已经被锁,请及时到相关网点咨询!");
			}
		}
	}
	//保存数据
	//注意;下面的关键字(	"pass、code、money")要与数据库中的名字一样,避免出现错误
	public void saveDb(){
		try{
			Class.forName("com.mysql.jdbc.Driver");
			java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/atmdb","root","root");   
			Statement stmt = conn.createStatement();
			String sql="update account set pass ="+pass+" where code='"+code+"'";  
			//dode为String型,所以要用‘’括起来
			String sql1="update account set money="+money+" where code='"+code+"'";
			stmt.executeUpdate(sql);    //update操作进行数据更新
			stmt.executeUpdate(sql1);
			stmt.close();
			conn.close();
		}	
		catch (Exception e){
				System.out.println(e);
			}
		
	}
	//欢迎界面
	public static void welcome(){
		System.out.println("!*****************************************!");
        System.out.println("!*************欢迎使用华夏银行*************!");
		System.out.println("!*****************************************!");
	}
	//系统主界面
	public void loadSys(){
	    System.out.println(".------------------------------------.");
		System.out.println("1 查询余额                      存款 2");
	    System.out.println("3 取款                      修改密码 4");
		System.out.println("5 退出                                ");
		System.out.println(".------------------------------------.");
		System.out.print("请输入相应的功能选项数字:");
		Scanner sz=new Scanner(System.in);
		int num=sz.nextInt(); 		
		switch(num){
		    case 1:   
		        chaxun();
			    break;
		    case 2:   
		       cunkuan();
			   break;
		    case 3:   
		       qukuan();
			   break;
		    case 4:   
		       xiugai();
			   break;
		    case 5:   
		       quit();
			   break;
		    default:
			   System.out.println("您输入的数字有误!");
			   loadSys();
		}
	}
	//查询余额
	public void chaxun(){
	    System.out.println("您卡上的余额为:" +money);
		loadSys();
	}
	//存款
	public void cunkuan(){
	    System.out.print("请输入存款金额:");
		Scanner ck=new Scanner(System.in);
		double money1=ck.nextDouble();
		money=money+money1;
		saveDb();
		System.out.println("您卡上的余额为:" +money);
		System.out.println("请收好您的卡!");
		loadSys();
	}
	//取款
	public void qukuan(){
	    System.out.print("请输入取款金额:");
		Scanner qk=new Scanner(System.in);
		double money2=qk.nextDouble();
	    if(money2>money){
		    System.out.println("您的余额不足!");  
			qukuan();
		}else{
		    money=money-money2;
			saveDb();
		    System.out.println("您卡上的余额为:" +money);
			System.out.println("请收好您的现金!"); 
			loadSys();
		}
	}
	//修改密码
	public void xiugai(){
		int cs = 0;
	    System.out.print("请输入原密码:"); 
		Scanner mm=new Scanner(System.in);
		int pass1=mm.nextInt();
		System.out.print("请输入新密码:"); 
		int pass2=mm.nextInt();
		System.out.print("请再次输入新密码:"); 
		int pass3=mm.nextInt();
		if(pass==pass1&& pass2==pass3){
		    System.out.println("修改密码成功!"); 
			pass=pass2;
			saveDb();
			loadSys();
		}else{
		    if(cs<2){
		       System.out.print("您输入的密码有误!"); 
			   cs++;
			   xiugai();
			}else{
			   quit();
			}
		}
	}
	//退出
	public void quit(){
	    System.exit(1);		
	}
	//主函数
	public static void main(String args[]){
		/*try{
			Class.forName("com.mysql.jdbc.Driver");
			java.sql.Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/atmdb","root","root");
			Statement stmt = conn.createStatement();
			String sql = "select * from account";
			ResultSet rs = stmt.executeQuery(sql);
			while (rs.next()){
				String code = rs.getString(1);
				int pass = rs.getInt(2);
				double money = rs.getDouble(3);
				System.out.println(code+"|"+pass+"|"+money);
			}
			rs.close();
			stmt.close();
			conn.close();
		}
		catch(Exception e){
		System.out.println(e);
		}*/
		ATM1 atm = new ATM1();
		atm.welcome();
		atm.checkLogin();
		}	
}
	
		
分享到:
评论

相关推荐

    数据库课程设计 ATM java+MySQL实现

    在这个“数据库课程设计 ATM java+MySQL实现”的项目中,我们主要关注的是如何使用Java编程语言和MySQL数据库来构建一个模拟ATM(自动取款机)系统。这个系统涵盖了银行账户的基本操作,包括查询余额、转账、取款、...

    JAVA开发的ATM机模拟系统,连接数据库

    在本文中,我们将深入探讨基于Java开发的ATM机模拟系统以及如何利用JDBC(Java Database Connectivity)连接数据库。这个模拟系统旨在实现真实的ATM功能,包括存款、取款、更改密码以及账户查询等基本操作。 首先,...

    java编写ATM柜员机模拟程序(GUI+javaSwing+MySQL).zip

    java编写的ATM模拟程序,GUI界面,连接Mysql数据库,实现了管理员界面(增删改查),用户界面(取款,存款,查询,安全退出,修改密码,转账,查询记录,导出记录),详情请看我的博客 ...

    ATM.zip_JAVA ATM 数据库_Java大作业_java ATM_数据库大作业

    在这个项目中,我们将深入探讨一个基于Java编程语言开发的ATM(Automated Teller Machine)模拟取款机系统,它不仅连接了数据库,还作为一个Java大作业,提供了一个全面理解面向对象编程、数据库交互以及用户界面...

    Java+GUI+Mysql 实现ATM系统/银行系统 MyATM.zip

    本项目是使用Java UI开发,使用JDBC技术连接Mysql数据库,可实现ATM系统/银行系统的基本登陆、转账、查询余额、存取款业务。界面设计比较简介,后续会迭代更新,大家可以下载主要学习一下后台的设计。 使用前说明:...

    atm_java_mysql.rar_atm_java_mysql_java ATM 模拟_java mysql ATM_j

    在这个名为“atm_java_mysql”的项目中,我们有一个使用Java编程语言实现的ATM(自动取款机)模拟器,它与MySQL数据库进行交互来处理用户的金融交易。这个项目主要聚焦于通过控制台界面实现基本的银行服务,包括存款...

    Java+MySql数据库 模拟ATM自助存取款bankproject

    一个模拟ATM自动取款机的Java小程序,连接MySql数据库,借鉴MVC的方式组织文件实现数据的存取以及修改功能!

    基于java+mysql的atm管理系统

    此外,为了连接Java应用与MySQL数据库,需要使用JDBC(Java Database Connectivity)API。这涉及到编写SQL语句、创建PreparedStatement、执行查询和事务管理等。 在项目的实现过程中,开发者可能需要设计以下模块:...

    ATM.zip_JAVA ATM 数据库_atm数据库系统

    模拟ATM系统,使用java语言编写,数据库选择MySql

    java模拟ATM功能(控制台连接Mysql数据库)

    Java 模拟 ATM 功能(控制台连接 Mysql 数据库) 本文将详细介绍 Java 模拟 ATM 功能,控制台连接 Mysql 数据库的知识点。该知识点涵盖了 ATM 系统的基本功能,包括注册、登录、查询、存款、取款和转账等。 知识点...

    ATM系统(连接数据库)

    在这个java课程的实训项目中,我们将学习如何构建一个模拟ATM系统,并实现与数据库的连接。数据库在ATM系统中扮演着至关重要的角色,因为它存储了所有用户的账户信息和交易记录。 首先,我们需要了解Java编程语言的...

    java与mysql的连接数据库

    Java与MySQL的连接是开发基于Java的数据库应用系统的基础,对于初学者来说,理解这个过程至关重要。以下是一些关于如何实现这一连接的关键知识点: 1. **JDBC (Java Database Connectivity)**: JDBC是Java中用于与...

    java课程设计ATM机(图形用户)数据库文件

    发了java课程设计ATM机(图形用户)代码,但是忘记了发sql文件了,我用的是mysql数据库,现在给大家补上

    模拟ATM取款机(JAVA+MySQL开发)

    ATM取款机模拟系统是基于Java编程语言和MySQL数据库技术开发的一款实用程序,它能够模拟银行ATM机的各种操作,如存款、取款、查询余额、修改密码等。这个项目旨在提供一个基础的金融交易模拟环境,帮助学习者理解和...

    ATM的JAVA实现

    在这个项目中,开发者使用Java语言构建了一个模拟自动取款机(ATM)的系统,并与MySQL数据库进行交互,用于存储和处理用户账户信息。以下是这个项目中涉及的关键知识点的详细说明: 1. **Java编程**:Java是一种...

    基于Java swing和mysql实现的银行管理系统【内含数据库+附源码】

    本项目是一套基于Java swing和mysql实现的银行管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。...

    atm 数据库

    总的来说,"ATM数据库"项目是一个结合了Swing GUI设计和数据库管理技术的应用,它展示了如何通过Java实现与数据库交互的桌面应用程序,为用户提供便捷的银行服务。这个系统不仅需要有良好的用户界面,还需要稳定、...

    Java+MySQL 模拟ATM银行取款机

    - **JDBC(Java Database Connectivity)**:Java与MySQL交互的桥梁,包括加载驱动、建立连接、执行SQL语句和关闭连接等步骤。 3. **J2SE(Java Standard Edition)**: - **Swing或JavaFX**:用于构建图形用户...

    Java与数据库的链接的简单应用(JAVA)

    在Java编程语言中,与数据库的链接是进行数据操作的核心技术。这个简单的应用展示了如何使用Java来实现一个ATM柜员机系统,该系统与数据库交互以完成诸如存款、取款等基本金融交易。以下是对Java数据库连接以及相关...

    Java + MySQL 实现Atm机

    Java + MySQL 模拟了一个Atm系统,由GUI来显示 1、数据库:MySQL 2、用dao层实现jdbc

Global site tag (gtag.js) - Google Analytics