《JAVA课程设计-银行存取管理系统(所有代码).docx》由会员分享,可在线阅读,更多相关《JAVA课程设计-银行存取管理系统(所有代码).docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA程序设计课程设计报告 设计题目: 银行存取系统设计与实现 学院名称: 信息工程学院 专业班级: 13计本2 姓 名: 王田 学 号: 1312252233 目录一 需求分析。3二 概要设计。3三 详细设计。3四 模块中数据库访问。34.1数据库核对用户名和密码(登录)。34.2向数据库添加一行(注册)。44.3修改数据库中数据(取款、存款、转账、修改密码码)。54.4查询数据库中数据(显示余额、查询修改)。54.5删除数据库中一行(注销用户)。6五 软件的整体规划。75.1登录界面。75.2用户业务界面。8六 数据库设计。8七 软件测试。87.1登录界面(已有用户登录不能登录其他用户)
2、。97.2注册界面(有空文本框有提示)。97.3用户主页(窗口关闭按钮不可以)。107.4存款。107.5取款(余额不足有提示)。107.6转账(余额不足、卡号不存在都有提示窗口)。117.7查询修改(卡号不可修改)。117.8数据库截图。117.9测试方法。12八 总结。12一 需求分析 本软件主要是为用户在银行自助服务的目的设计。主要业务包括注册、取款、存款、转账、修改密码、查询余额和查询修改信息等项目,一个用户只允许操作自己的信息,保证用户账户的安全。二 概要设计主要设计可以为用户服务的ATM机客户端,用户可以在登录界面注册自己的卡号,登录后可以进行取款、存款、转账、修改密码、查询余额和
3、查询修改信息的业务,所有操作都会保存数据库。实现银行自助服务的目的。三 将用户需求模块化根据概要设计的原则来分析一下本项目的用户需求,并最终转化成用程序语言描述的模块。什么样的需求才是一个模块?模块应该具备如下几个特征。(1)登录主界面:用类a来实现主界面的显示,用Denlu类中的checkUser(String k,String m)方法链接数据库核对用户名和密码是否正确,如果正确返回1,如果卡号不存在返回2,如果读取数据库失败返回3。(2)用户注册:用类Zc来实现注册界面的显示,用Denlu类中的zhucezh(String name,String sex,String kahao,Str
4、ing mima,String phone)方法链接数据库,将新用户添加入数据库。(3)用户主页:用类Zhuye来实现主页界面的显示,主页中包括业务有取款、存款、转账、修改密码、查询余额和查询修改信息,最后有退出按钮(不能使用窗口关闭按钮退出主页,一个用户登录其他用户不能登录)。取款:用类Qukuan来实现取款窗口的显示,用Denlu类中的qukuan(long k,long j)方法链接数据库操作数据。存款:用类Cunkuan来实现存款窗口的显示,用Denlu类中的cunkuan(long k,long j)方法链接数据库操作数据。转账:用类Zuanzhang来实现转账窗口的显示,用Denl
5、u类中的zhuanzhang(long k,long j)方法链接数据库操作数据。修改密码:用类Xiugai来实现修改密码窗口的显示,用Denlu类中的gaimi(String y,String x)方法链接数据库操作数据。查询余额:用类Xianshi来实现查询余额窗口的显示,用Denlu类中的chaxun()方法链接数据库操作数据。查询修改:用类Chaxun来实现查改窗口的显示,用Denlu类中的chagai(String name,String sex,String phone)方法链接数据库操作数据。注销:使用静态方法shanchu(String id)实现,注销时如果余额不为0,提示“
6、取出余额在注销”。四 模块中数据库访问JAVA课程设计-银行存取管理系统(源代码)同学们,这里是银行存取管理系统的所有JAVA代码,下载复制粘贴就可以用。具体建包如下图:(按图片建立数据库)数据库截图所有源代码:类 :a.javapackage zhuce;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class a extends JFrame static TextField Kahao=new TextField(1,20);static JPasswordField Mima=new JPas
7、swordField(110,15);static boolean weiyi=false;public a()JFrame f=new JFrame(银行管理系统);f.setBounds(200,100,700,600);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false); Container c=getContentPane(); /必须继承JFrame类c.setLayout(null); c.setBackground(Color.blue);/不采用任何布局方式f.add(c);JLabel
8、label1=new JLabel(欢迎您进入银行管理系统); JLabel label2=new JLabel(银 行 卡 号:); JLabel label3=new JLabel(银行卡密码:); label1.setFont(new Font(Serif,Font.BOLD,40);label1.setForeground(Color.WHITE);/label1.setBounds(300,200,400,300); /改变标签位置 错误label2.setFont(new Font(Serif,Font.BOLD,20);label2.setForeground(Color.WHI
9、TE);label3.setFont(new Font(Serif,Font.BOLD,20);label3.setForeground(Color.WHITE);JButton button1=new JButton(登录);JButton button2=new JButton(注册);BHandler h=new BHandler();button1.addActionListener(h);button2.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel()
10、; JPanel p4=new JPanel(); p1.setBounds(0,0,700,200); /改变面板位置 错误p1.setBackground(Color.blue);p1.add(label1);p2.setBounds(0,200,700,50); p2.setBackground(Color.blue);p2.add(label2);p2.add(Kahao);p3.setBounds(0,250,700,50); p3.setBackground(Color.blue);p3.add(label3);p3.add(Mima);p4.setBounds(0,350,700
11、,70); /改变面板位置 错误p4.setBackground(Color.blue);p4.add(button1);p4.add(button2);c.add(p1);c.add(p2);c.add(p3);c.add(p4);f.setVisible(true); public static void main(String args)a b=new a();public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.getActionC
12、ommand()=注册)Zc zhuce=new Zc();/zhuce.validate();else if(event.getActionCommand()=登录) if(Denlu.checkUser(Kahao.getText(),Mima.getText()=1&weiyi=false) weiyi=true; JOptionPane.showMessageDialog(a.this,登录成功!);Zhuye zhu=new Zhuye(); else if(weiyi=true) JOptionPane.showMessageDialog(a.this,请先退出已经登录的用户!);
13、 else JOptionPane.showMessageDialog(a.this,卡号或者密码不正确!); else 类 :Chaxun.javapackage zhuce;import javax.swing.*;import zhuce.Zhuanzhang.BHandler;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public
14、 class Chaxun extends JDialogTextField name=new TextField(20);TextField sex=new TextField(20);TextField kahao=new TextField(20);TextField phone=new TextField(20);public Chaxun(JFrame m,String s)super(m,s); setBounds(350,150,400,400); setVisible(true); setModal(false); setDefaultCloseOperation(JDialo
15、g.DISPOSE_ON_CLOSE); setResizable(false); setLayout(null); JLabel label1=new JLabel(客户个人信息查询与修改); JLabel label2=new JLabel(姓 名:); JLabel label3=new JLabel(性 别:); JLabel label4=new JLabel(卡 号:); JLabel label5=new JLabel(手机号:); label1.setFont(new Font(Serif,Font.BOLD,20); label2.setFont(new Font(Serif
16、,Font.BOLD,13); label3.setFont(new Font(Serif,Font.BOLD,13); label4.setFont(new Font(Serif,Font.BOLD,13); label5.setFont(new Font(Serif,Font.BOLD,13); kahao.setEditable(false); /卡号不可修改JButton button1=new JButton(确定);JButton button2=new JButton(取消);BHandler h=new BHandler();button1.addActionListener(
17、h);button2.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel(); JPanel p4=new JPanel(); JPanel p5=new JPanel(); JPanel p6=new JPanel(); p1.setBounds(0,0,400,70);p1.add(label1);p2.setBounds(0,70,400,50);p2.add(label2);p2.add(name);p3.setBounds(0,120,400,50);p3.
18、add(label3);p3.add(sex);p4.setBounds(0,170,400,50);p4.add(label4);p4.add(kahao);p5.setBounds(0,220,400,50);p5.add(label5);p5.add(phone);p6.setBounds(0,270,400,70);p6.add(button1);p6.add(button2);add(p1);add(p2);add(p3);add(p4);add(p5); add(p6); try /1.注册驱动 String driverClassName = com.mysql.jdbc.Dri
19、ver; Class.forName(com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() name
20、.setText(rs.getString(Username); sex.setText(rs.getString(Usersex); kahao.setText(rs.getString(UserID); phone.setText(rs.getString(Userphone); rs.close(); stmt.close(); conn.close(); catch(Exception sqle) System.err.println(sqle); JOptionPane.showMessageDialog(Zhuye.z,系统故障,请稍后在试!); setVisible(true);
21、 public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) int x;if(event.getActionCommand()=确定)x=Denlu.chagai(name.getText(),sex.getText(),phone.getText();System.out.println(x);if(x=1) JOptionPane.showMessageDialog(Zhuye.z,修改成功!);dispose();else JOptionPane.show
22、MessageDialog(Zhuye.z,修改出错!);dispose();else if(event.getActionCommand()=取消)dispose();类:Cunkuan.javapackage zhuce;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Cunkuan extends JDialog TextField jine=new TextField(10);public Cunkuan(JFrame m,String s) super(m,s);setDefaul
23、tCloseOperation(WindowConstants.HIDE_ON_CLOSE);setBounds(400,250,400,200);setVisible(true);setResizable(false); setLayout(null); JLabel label1=new JLabel(请输入存款的金额);label1.setFont(new Font(Serif,Font.BOLD,20);JLabel label2=new JLabel(金额:);label2.setFont(new Font(Serif,Font.BOLD,13);JButton button1=ne
24、w JButton(确认);BHandler h=new BHandler();button1.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); p1.setBounds(0,0,200,70); p1.add(label1);p2.setBounds(25,70,400,50); p2.add(label2);p2.add(jine);p2.add(button1);add(p1);add(p2);setVisible(true);public class BHandler implements Acti
25、onListener public void actionPerformed (ActionEvent event) if(!(jine.getText().equals()int i=0;i=Denlu.cunkuan(Integer.parseInt(a.Kahao.getText(),Integer.parseInt(jine.getText();if(i=1)JOptionPane.showMessageDialog(Zhuye.z,成功存款+jine.getText()+元!);dispose();elseJOptionPane.showMessageDialog(Zhuye.z,系
26、统故障,请稍后在试!);elseJOptionPane.showMessageDialog(Zhuye.z,请输入存款金额!);类:Denlu.javapackage zhuce;import java.sql.*;public class Denlu public Denlu()public static int shanchu(String id)long a=chaxun(); if(a=0)try Class.forName(com.mysql.jdbc.Driver); Connection conn = DriverManager.getConnection(jdbc:mysql:
27、/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); String sql=delete from tablename where UserID=+Integer.parseInt(id)+; stmt.executeUpdate(sql); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; elsereturn 2;public static int zhucezh(Str
28、ing name,String sex,String kahao,String mima,String phone)try /1.注册驱动 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); String sql=
29、insert into tablename values(?,?,?,?,?,?); PreparedStatement ps=(PreparedStatement) conn.prepareStatement(sql); ps.setString(1,kahao); ps.setString(2,name); ps.setString(3,mima); ps.setString(4,phone); ps.setString(5,sex); ps.setInt(6,0); ps.executeUpdate(); ps.close(); stmt.close(); conn.close(); r
30、eturn 1; catch(Exception sqle) System.err.println(sqle); return 3; public static int chagai(String name,String sex,String phone)try /1.注册驱动 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localho
31、st:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() stmt.executeUpdate(Update tablename set Usersex=+sex+,Username=+name+,Userphone=+phone+ where UserID=+Integer.parseInt(a.
32、Kahao.getText()+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; return 2;public static int gaimi(String y,String x)long p; p=checkUser(a.Kahao.getText(),y);if(p=1)try /1.注册驱动 String driverClassName = com.mysql.jdbc.Driver; Class.forName(
33、com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() stmt.executeUpdate(Upda
34、te tablename set UserPW=+x+ where UserID=+Integer.parseInt(a.Kahao.getText()+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; return 2;public static long chaxun()long j;try /1.注册驱动 String driverClassName = com.mysql.jdbc.Driver; Class.for
35、Name(com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() j=rs.getInt(Useryu
36、e); rs.close(); stmt.close(); conn.close(); return j; catch(Exception sqle) System.err.println(sqle); return -2; return -2;public static int qukuan(long k,long j)try /1.注册驱动 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.连接数据库 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+k+); if(r