Java-银行管理系统源代码_第1页
Java-银行管理系统源代码_第2页
Java-银行管理系统源代码_第3页
Java-银行管理系统源代码_第4页
Java-银行管理系统源代码_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java 小型银行管理系统源代码(图形界面)accounts.javapackage account;public class accounts protected int id;/银行账号protected string password;/ 用户密码protected string name;/ 用户型号protected string personid;/ 身份账号protected int accounttype;/ 账号类型, 0 代表储蓄卡, 1 代表信用卡protected double balance;/账户余额。之所以定义为 protected 是让他的子类可以直接用,不 需

2、要通过方法来赋值。protected double ceiling;public string getpassword()return password;public void setpassword(string password)this.password=password;public string getname()return name;public void setname(string name)=name;public string getpersonid()return personid;public void setpersonid(string pers

3、onid)this.personid=personid;public int getaccounttype()return accounttype;public void setaccounttype(int accounttype)this.accounttype=accounttype;public double getbalance()return balance;public void setbalance(double balance)this.balance=balance;public int getid()return id;public void setid(int id)t

4、his.id=id;public double getceiling()return ceiling;public void setceiling(double ceiling)this.ceiling=ceiling;/无参数构造方法public accounts()/构造方法public accounts(string password,string name,string personid,int accounttype,double balance,double ceiling)super();this.password=password;=name;this.per

5、sonid=personid;this.accounttype=accounttype;this.balance=balance;this.ceiling=ceiling;/存款public void deposit(double money)balance+=money;/取款public void withdraw(double money)if(accounttype=1)if(balance+ceiling)money)system.out.println( 对不起,已超出您的信用额度! ); elsebalance-=money;elseif(balancemoney)system.

6、out.println( 对不起,账户余额不足! ); elsebalance-=money;dboper.javapackage db;import java.sql.*;import java.util.arraylist;import account.accounts;public class dboper private connection conn = null;private statement st = null;private preparedstatement pstmt = null;private resultset rs = null;private arraylis

7、t result;/连接数据库public connection getconnection()tryclass.forname(com.mysql.jdbc.driver);conn=drivermanager.getconnection(jdbc:mysql:/localhost:3306/bankmanager?useunicode=true&characterencoding=utf8,root,xuewei);catch(exception e)system.out.println( 数据库连接失败 );return conn;/修改 删除用户数据public boolean acc

8、ountdataupdate(string sql)conn=getconnection();trypstmt=conn.preparestatement(sql);pstmt.executeupdate();/system.out.println( 数据更新成功 );conn.close();return true;catch(sqlexception e)e.printstacktrace();/system.out.println( 更新失败 );return false;/依据 id 来修改记录public boolean dataupdateid(accounts user, int

9、 id) conn = getconnection();try stringsql = update account setusername=?,userpwd=?,personid=?,accounttype=?,balance=?,ceiling=? where id=+ id;pstmt = conn.preparestatement(sql);pstmt.setstring(1, user.getname();pstmt.setstring(2, user.getpassword();pstmt.setstring(3, user.getpersonid();pstmt.setint(

10、4, user.getaccounttype();pstmt.setdouble(5, user.getbalance();pstmt.setdouble(6, user.getceiling();pstmt.executeupdate();system.out.println( 操作成功 );return true;catch (sqlexception e) e.printstacktrace();system.out.println( 操作失败 );return false;/插入用户数据public boolean accountdatainsert(accounts account)

11、conn=getconnection();trypstmt=conn.preparestatement(insert into(username,userpwd,personid,accounttype,balance,ceiling) values (?,?,?,?,?,?);pstmt.setstring(1, account.getname();pstmt.setstring(2, account.getpassword();pstmt.setstring(3, account.getpersonid();pstmt.setint(4, account.getaccounttype();

12、pstmt.setdouble(5, account.getbalance();pstmt.setdouble(6, account.getceiling();pstmt.executeupdate();system.out.println( 新用户数据插入成功 );conn.close();return true;catch(sqlexception e)e.printstacktrace();system.out.println( 插入失败 );return false;/查询数据public resultset dataquery(string sql) conn = getconnec

13、tion();accounttry pstmt = conn.preparestatement(sql);rs = pstmt.executequery();catch (sqlexception e) e.printstacktrace();system.out.println( 检索失败 );return rs;public resultset testlist() try string sql = select * from account where id =1001; pstmt = conn.preparestatement(sql);system.out.println(sql)

14、;rs = pstmt.executequery(); catch (sqlexception e) e.printstacktrace();system.out.println( 检索失败 );return rs;public arraylist testt(int id) arraylist list = new arraylist(); conn = getconnection();try string sql = select * from account where id= + id; pstmt = conn.preparestatement(sql);rs = pstmt.exe

15、cutequery();while (rs.next() accounts user = new accounts(); user.setname(rs.getstring(username);user.setpassword(rs.getstring(userpwd);user.setpersonid(rs.getstring(personid);user.setaccounttype(rs.getint(accounttype);user.setbalance(rs.getdouble(balance);user.setceiling(rs.getdouble(ceiling);list.

16、add(user);catch (sqlexception e) e.printstacktrace();system.out.println( 检索失败 );return list;/根据卡号和密码验证用户是否存在public boolean verify(int id,string password)conn=getconnection();trypstmt=conn.preparestatement(select * from account where id=? and userpwd=?); pstmt.setint(1, id);pstmt.setstring(2, passwor

17、d);rs=pstmt.executequery();if(rs.next()return true;elsereturn false;catch(sqlexception e)e.printstacktrace();return false;/* 登录验证*/public accounts verifyaccount(int id, string password) boolean flag = verify(id, password);if(flag)accounts account=querybyidandpassword(id, password);return account;els

18、esystem.out.println( 用户不存在! );return null;/根据卡号和密码查询信息public accounts querybyidandpassword(int id,string password)conn=getconnection();trypstmt=conn.preparestatement(select * from account where id=? and userpwd=?); pstmt.setint(1, id);pstmt.setstring(2, password);rs=pstmt.executequery();accounts acc

19、ount=new accounts();while(rs.next()account.setid(rs.getint(id);account.setname(rs.getstring(username);account.setpassword(rs.getstring(userpwd);account.setpersonid(rs.getstring(personid);account.setaccounttype(rs.getint(accounttype);account.setbalance(rs.getdouble(balance);account.setceiling(rs.getd

20、ouble(ceiling);return account;catch(sqlexception e)e.printstacktrace();return null;/根据卡号查询信息public accounts querybyid(int id)conn=getconnection();trypstmt=conn.preparestatement(select * from account where id=?); pstmt.setint(1, id);rs=pstmt.executequery();accounts account=new accounts();while(rs.nex

21、t()account.setid(rs.getint(id);account.setname(rs.getstring(username);account.setpassword(rs.getstring(userpwd);account.setpersonid(rs.getstring(personid);account.setaccounttype(rs.getint(accounttype);account.setbalance(rs.getdouble(balance);account.setceiling(rs.getdouble(ceiling);return account;ca

22、tch(sqlexception e)e.printstacktrace();return null;public static void main(string args) / todo auto-generated method stubdboper op=new dboper();arraylist list=op.testt(1001);for(int i=0;ilist.size();i+)accounts user=new accounts();user=list.get(i);system.out.println(user.getname();system.out.println

23、(user.getpassword();system.out.println(user.getpersonid();system.out.println(user.getaccounttype();system.out.println(user.getbalance();system.out.println(user.getceiling();/图像界面文件夹dn_systemdefault.java /主界面package dn_system;import java.awt.color;import java.awt.container;import java.awt.event.actio

24、nevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.windowconstants;import account.accounts;import db.dboper;public class default extends jframe implemen

25、ts actionlisteneraccounts account=dn_atm.client;dboper db=new dboper();private jframe jf;private jbutton btn0,btn1,btn2,btn3,btn4,btn5; private container c;public void defaltdemo() /添加主界面卡片/dn_atm.id;int id=dn_atm.id;/account=db.querybyid(id);jf=new jframe(default);c=jf.getcontentpane();c.setlayout(

26、null);c.setbackground(new color(119,119,253);jlabel lblwel = new jlabel( 欢迎+account.getname()+ 用达能银行 atm 系统); lblwel.setbounds(20, 15, 350, 30);c.add(lblwel);jlabel lblwel1 = new jlabel( 请选择您需要的交易类型 ); lblwel1.setbounds(120, 45, 350, 30);c.add(lblwel1);btn1 = new jbutton( 取款服务 );btn1.addactionlisten

27、er(this);btn1.setbounds(70, 90, 100, 30);c.add(btn1);btn2=new jbutton( 存款服务 );btn2.addactionlistener(this);btn2.setbounds(210, 90, 100, 30);c.add(btn2);btn3 = new jbutton( 查询余额 );btn3.addactionlistener(this);btn3.setbounds(70, 150, 100, 30);c.add(btn3);btn4 = new jbutton( 转账服务 );btn4.addactionlisten

28、er(this);btn4.setbounds(210, 150, 100, 30);c.add(btn4);btn5 = new jbutton( 注销账户 );btn5.addactionlistener(this);btn5.setbounds(70, 210, 100, 30);c.add(btn5);btn0 = new jbutton( 退出操作 );btn0.addactionlistener(this);btn0.setbounds(210, 210, 100, 30);c.add(btn0);jf.setvisible(true);jf.setresizable(false)

29、;jf.setsize(400,300);jf.setdefaultcloseoperation(windowconstants.exit_on_close);/事件处理overridepublic void actionperformed(actionevent e)/取款服务if(e.getsource().equals(btn1)outmoney outmoney=new outmoney();outmoney.outmoney();jf.dispose();/存款服务if(e.getsource().equals(btn2)inmoney inmoney=new inmoney();i

30、nmoney.inmoney();jf.dispose();/查询余额if(e.getsource().equals(btn3)getbalance getbalance=new getbalance();getbalance.getbalance();jf.dispose();/转账服务if(e.getsource().equals(btn4)transferaccounts tranfer=new transferaccounts();tranfer.transferaccounts();jf.dispose();/注销账户if(e.getsource().equals(btn5)stri

31、ng sql=delete from account where id=+account.getid(); boolean flag=db.accountdataupdate(sql);if(flag)joptionpane.showmessagedialog(this, 注销成功!); elsejoptionpane.showmessagedialog(this, 注销失败!); if(e.getsource().equals(btn0)system.exit(0);public static void main(string args) / todo auto-generated meth

32、od stubdefault defaults=new default();defaults.defaltdemo();dn_atm.javapackage dn_system;import java.awt.cardlayout;import java.awt.color;/功能界面import java.awt.container;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.abstractbutton;import javax.swing.jbutton

33、;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jpasswordfield;import javax.swing.jtextfield;import db.dboper;import account.accounts;public class dn_atm extends jframe implements actionlistener private jlabel lbljixu;p

34、rivate jbutton btngetcard;private jbutton btncard,btn010,btn_addaccount,btnsure,btnback;private jtextfield txt1;private jpasswordfield txt2;private container container;private cardlayout layout;private jlabel lblwrong;private jpanel panelfirst,panelmain;public static int id;static accounts client =

35、null;public dn_atm()super( 达能银行);this.setsize(435, 350);this.setlocation(500,250);this.setdefaultcloseoperation(jframe.exit_on_close); /设置不可改变窗口大小this.setresizable(false);/布局public void setlayout()/用卡片布局layout = new cardlayout();container = getcontentpane();container.setlayout(layout);/添加第一张卡片panelf

36、irst = new jpanel(null);/设置卡片的背景颜色panelfirst.setbackground(new color(119,119,253);lbljixu = new jlabel( 请放入磁卡,然后继续操作 );/设置卡片在 panel 中的位置lbljixu.setbounds(140, 90, 350, 30);/为第一张卡片添加一个 labelpanelfirst.add(lbljixu);/为第一张卡片添加一个按钮btncard = new jbutton( 继续);btncard.setbounds(310, 180, 80, 30);/为按钮注册事件监听器

37、btncard.addactionlistener(this);/开始时设置按钮不可按btncard.setenabled(false); panelfirst.add(btncard);/为第一张卡片添加一个按钮btngetcard = new jbutton( 取卡 ); btngetcard.setenabled(false);btngetcard.setbounds(310, 220, 80, 30);btngetcard.addactionlistener(this);panelfirst.add(btngetcard);/添加登录输入卡片panelmain = new jpanel

38、(null);panelmain.setbackground(new color(119,119,253);/添加登录输入卡号jlabel lblnumber = new jlabel( 请输入您的银行卡卡号: ); panelmain.add(lblnumber);lblnumber.setbounds(30, 30, 150, 30);/设置文本框为密码型txt1 = new jtextfield(12);/文本框不可选中/txt1.enable(false);panelmain.add(txt1);txt1.setbounds(170, 30, 200, 30);jlabel lblpw

39、d = new jlabel( 请输入您的银行卡密码: ); panelmain.add(lblpwd);lblpwd.setbounds(30, 80, 150, 30);/设置文本框为密码型txt2 = new jpasswordfield(12);/文本框不可选中/txt2.enable(false);panelmain.add(txt2);/文本框的输入内容用 *显示txt2.setechochar(*);txt2.setbounds(170, 80, 200, 30);/添加选择按钮btnsure = new jbutton( 确定);btnsure.addactionlistene

40、r(this);panelmain.add(btnsure);btnsure.setbounds(70, 160, 80, 30);/添加重输按钮btn010 = new jbutton( 重输);btn010.addactionlistener(this);panelmain.add(btn010);btn010.setbounds(175,160,80,30);btnback = new jbutton( 退出);btnback.addactionlistener(this);panelmain.add(btnback);btnback.setbounds(280, 160, 80, 30

41、);/开户btn_addaccount = new jbutton( 开户); btn_addaccount.setbounds(70, 220, 80, 30);btn_addaccount.addactionlistener(this);panelmain.add(btn_addaccount);lblwrong = new jlabel( 请注意保护好您的密码! ); panelmain.add(lblwrong);lblwrong.setbounds(180, 110, 200, 30);container.add(panelmain, main);/事件处理suppresswarni

42、ngs(deprecation)overridepublic void actionperformed(actionevent e)dboper db=new dboper();if(e.getsource().equals(btn_addaccount)openaccount open=new openaccount(); open.adduser();/磁卡插入后,验证银行登录卡号与密码if(e.getsource().equals(btnsure)client = db.verifyaccount(integer.parseint(txt1.gettext(), txt2.gettext

43、();if(client!=null) default defa=new default();defa.defaltdemo();this.dispose();id=integer.parseint(txt1.gettext();txt1.settext();txt2.settext();elselblwrong.settext( 卡号或密码不正确,请重新输入! ); txt1.settext();txt2.settext();/重置输入卡号和密码if(e.getsource()=btn010)txt1.settext();txt2.settext();lblwrong.settext( 请注

44、意保护好您的密码! );/退出if(e.getsource().equals(btnback)system.exit(0);public static void main(string args) / todo auto-generated method stubdn_atm atm=new dn_atm();atm.setlayout();atm.setvisible(true);getbalance.java /查询余额package dn_system;import java.awt.cardlayout;import java.awt.color;import java.awt.con

45、tainer;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.jpanel;import javax.swing.windowconstants;import account.accounts;import db.dboper;public class getbalance extends jframe im

46、plements actionlistener private jframe jf;private container c;private jlabel lblremain1,lblremain;private jbutton btnremain,btnremain1;accounts account=new accounts();dboper db=new dboper();private int id=dn_atm.id;/添加查询余额界面卡片public void getbalance()account=db.querybyid(id);jf=new jframe(find dalanc

47、e);c=jf.getcontentpane();c.setlayout(null);jf.setresizable(false);c.setbackground(new color(119,119,253);lblremain1 = new jlabel( 尊敬的达能用户您好! ); lblremain1.setbounds(90,70,350,30);c.add(lblremain1);lblremain = new jlabel( 请点击继续操作查询余额: ); lblremain.setbounds(90,110,350,30);c.add(lblremain);btnremain =

48、 new jbutton( 继续操作); btnremain.setbounds(95,150,90,30);btnremain.addactionlistener(this);c.add(btnremain);btnremain1 = new jbutton( 退出操作); btnremain1.setbounds(200,150,90,30);btnremain1.addactionlistener(this);c.add(btnremain1);jf.setvisible(true);jf.setsize(400,300);jf.setdefaultcloseoperation(wind

49、owconstants.exit_on_close);overridepublic void actionperformed(actionevent e)/查询余额if(e.getsource()=btnremain)lblremain1.settext( 卡号:+account.getid()+用户名:+account.getname();lblremain.settext( 您的余额为 +account.getbalance()+ 元,是否继续操作 ?); if(e.getsource()=btnremain1)default defa=new default();defa.defaltd

50、emo();jf.dispose();public static void main(string args) / todo auto-generated method stubgetbalance balance=new getbalance();balance.getbalance();inmoney.java/存款package dn_system;import java.awt.cardlayout;import java.awt.color;import java.awt.container;import java.awt.event.actionevent;import java.

51、awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jtextfield;import javax.swing.windowconstants;import account.accounts;import db.dboper;public class inmoney extends jframe implements actionlisten

52、erprivate jlabel lblsave,lblsave1;private jbutton btnsave,btnsave2;private jtextfield txt2;private double savemoney ;private double lastmoney;private boolean flag;private jframe jf;private container c;accounts account=new accounts();dboper db=new dboper();private int id=dn_atm.id;public void inmoney()account=db.querybyid(id);jf=new jframe(in money);c=jf.getcontentpane();c.setlayout(null);jf.setresizable(false)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论