《Java-银行管理系统源代码.pdf》由会员分享,可在线阅读,更多相关《Java-银行管理系统源代码.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JavaJava小型银行管理系统源代码(图形界面)小型银行管理系统源代码(图形界面)accounts.javaaccounts.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;/账户余额.之所以定义
2、为protected是让他的子类可以直接用,不需要通过方法来赋值。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)this.name=name;public String getPersonId()return personId;public void
3、 setPersonId(String personId)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;pu
4、blic void setId(int id)this.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
5、;this.name=name;this。personId=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
6、(balancemoney)System。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;priva
7、te ArrayListaccounts 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;/修改删除用
8、户数据public boolean accountDataUpdate(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(
9、accounts user,int id)conn=getConnection();try Stringsql=updateaccountsetusername=?,userpwd=?,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(4,user
10、。getAccountType();pstmt。setDouble(5,user.getBalance();pstmt.setDouble(6,user。getCeiling());pstmt。executeUpdate();System。out。println(操作成功”);personId=?,return true;catch(SQLException e)e.printStackTrace();System.out.println(操作失败);return false;/插入用户数据public boolean accountDataInsert(accounts account)co
11、nn=getConnection();trypstmt=conn.prepareStatement(”insertintoaccount(username,accountType,balance,ceiling)values(?,?,?,?,?,?)”);pstmt。setString(1,account。getName());pstmt.setString(2,account.getPassword();pstmt。setString(3,account。getPersonId());pstmt。setInt(4,account。getAccountType();pstmt.setDoubl
12、e(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=getConnection();try pstmt=co
13、nn。prepareStatement(sql);rs=pstmt.executeQuery();catch(SQLException e)userpwd,personId,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);rs=pstmt。executeQuery()
14、;catch(SQLException e)e。printStackTrace();System.out。println(检索失败);return rs;public ArrayListaccounts testt(int id)ArrayListaccounts list=new ArrayListaccounts();conn=getConnection();try String sql=”select*from account where id=+id;pstmt=conn.prepareStatement(sql);rs=pstmt。executeQuery();while(rs。ne
15、xt()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。add(user);catch(SQL
16、Exception 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,password);rs=pstmt.executeQuery();i
17、f(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;elseSystem.out。println(用户不存在!);return
18、null;/根据卡号和密码查询信息public accounts queryByIDandPassword(int id,String password)conn=getConnection();trypstmt=conn.prepareStatement(”select*f rom account where id=?and userpwd=?);pstmt。setInt(1,id);pstmt。setString(2,password);rs=pstmt.executeQuery();accounts account=new accounts();while(rs。next()accoun
19、t。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
20、tch(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.next()account.setId(rs.getInt(”id”));
21、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;catch(SQLException e)e
22、。printStackTrace();return null;public static void main(String args)/TODO Autogenerated 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(user。getPassword();Sy
23、stem。out.println(user。getPersonId();System.out.println(user。getAccountType());System。out。println(user。getBalance();System.out。println(user.getCeiling();/图像界面文件夹DN_SYSTEMDN_SYSTEMDefaultDefault。javajava/主界面主界面package DN_SYSTEM;import java.awt.Color;import java。awt。Container;import java。awt.event.Acti
24、onEvent;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 impleme
25、nts ActionListener accounts 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.addActionListener(this);btn1。se
27、tBounds(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。addActionListener(this);btn4。setBounds(210,150,10
28、0,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);jf。setSize(400,300);jf。setDefaultCloseOperation(W
29、indowConstants.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();inmoney。InMoney();jf。dispose();/查询余额if(e.getSourc
30、e().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)String sql=delete from account where id=+account.get
31、Id();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 method stubDefault defaults=new Default();defaults.defal
32、tDemo();DN_ATM.javaDN_ATM.java/功能界面功能界面package 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;import javax。swing.JFrame;import jav
33、ax。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;private JButton btngetcard;private JBu
34、tton 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=null;public DN_ATM()super(”达能银行”);this。
35、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);/添加第一张卡片panelfirst=new JPanel(null);/设置卡片的背景颜色panelfirst.s
36、etBackground(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);/为按钮注册事件监听器btncard.addActionListener(this);/开始时设置按钮不可按btncard。setEna
37、bled(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(null);panelmain.setBackground(new Color(119,119,253));/添加登录输入卡号JLab
38、el 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 lblpwd=new JLabel(”请输入您的银行卡密码:”);panelmain.add(lblpwd);lblpwd.setBounds(30,80,150,30
39、);/设置文本框为密码型txt2=new JPasswordField(12);/文本框不可选中/txt2.enable(false);panelmain。add(txt2);/文本框的输入内容用显示txt2。setEchoChar(*);txt2.setBounds(170,80,200,30);/添加选择按钮btnsure=new JButton(”确定);btnsure.addActionListener(this);panelmain.add(btnsure);btnsure。setBounds(70,160,80,30);/添加重输按钮btn010=new JButton(”重输”)
40、;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);/开户btn_addAccount=new JButton(”开户”);btn_addAccount。setBounds(70,220,80,30);btn_addAccount.addActionLi
41、stener(this);panelmain。add(btn_addAccount);lblwrong=new JLabel(”请注意保护好您的密码!);panelmain.add(lblwrong);lblwrong。setBounds(180,110,200,30);container.add(panelmain,”main”);/事件处理SuppressWarnings(”deprecation”)Overridepublic void actionPerformed(ActionEvent e)DBoper db=new DBoper();if(e.getSource().equals
42、(btn_addAccount)OpenAccount open=new OpenAccount();open.adduser();/磁卡插入后,验证银行登录卡号与密码if(e。getSource().equals(btnsure))client=db.verifyAccount(Integer.parseInt(txt1。getText(),txt2。getText());if(client!=null)Default defa=new Default();defa.defaltDemo();this。dispose();id=Integer.parseInt(txt1.getText();
43、txt1。setText(”);txt2.setText(”);elselblwrong。setText(卡号或密码不正确,请重新输入!”);txt1。setText(”);txt2.setText();/重置输入卡号和密码if(e.getSource()=btn010)txt1。setText(”);txt2。setText();lblwrong.setText(请注意保护好您的密码!);/退出if(e.getSource().equals(btnback)System。exit(0);public static void main(String args)/TODO Autogenerat
44、ed method stubDN_ATM ATM=new DN_ATM();ATM.setLayout();ATM。setVisible(true);GetBalance.javaGetBalance.java/查询余额查询余额package 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。JBu
45、tton;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 implements ActionListenerprivate JFrame jf;private Container c;private JLabel lblremain1,lblremain;pri
46、vate 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 DALANCE”);c=jf.getContentPane();c.setLayout(null);jf。setResizable(false);c.setBackground(new Color(119,119,
47、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=new JButton(”继续操作”);btnremain.setBounds(95,150,90,30);btnremain.addActionListener(this);c.add(btnremain);btn
48、remain1=new JButton(退出操作);btnremain1。setBounds(200,150,90,30);btnremain1。addActionListener(this);c。add(btnremain1);jf。setVisible(true);jf.setSize(400,300);jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);Overridepublic void actionPerformed(ActionEvent e)/查询余额if(e。getSource()=btnremain)lblr
49、emain1。setText(卡号:”+account.getId()+”用户名:”+account.getName());lblremain.setText(您的余额为”+account.getBalance()+”元,是否继续操作?”);if(e。getSource()=btnremain1)Default defa=new Default();defa。defaltDemo();jf.dispose();public static void main(String args)/TODO Auto-generated method stubGetBalance balance=new Ge
50、tBalance();balance。getBalance();InMoneyInMoney。java/java/存款存款package 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.JButton;import javax。swing。JFrame;import javax.swing.JLa