《Java-银行管理系统源代码(共34页).docx》由会员分享,可在线阅读,更多相关《Java-银行管理系统源代码(共34页).docx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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)this.name=name;public String getPersonId()return personId;public void setPersonId(String per
3、sonId)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)
4、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;this.name=name;this.pe
5、rsonId=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.ou
6、t.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 ArrayList res
7、ult;/连接数据库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 accountDat
8、aUpdate(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 id) conn = g
9、etConnection();try String sql = update account set username=?,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(4, user.get
10、AccountType();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)conn=getConnect
11、ion();trypstmt=conn.prepareStatement(insert into account (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();pstmt.
12、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 = getConnection();try
13、 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);rs = pstmt.executeQ
14、uery(); 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.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 (SQLExcep
16、tion 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(用户不存在
18、!);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 account=new accounts();while(rs
19、.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.getDouble(ceiling);return accoun
20、t;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.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.printSta
22、ckTrace();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(user.getPassword();System.ou
23、t.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.ActionEvent;import java.awt.event.
24、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 implements ActionListeneraccounts acc
25、ount=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(null);c.setBackground(new Colo
26、r(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.setBounds(70, 90, 100, 30)
27、;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, 100, 30);c.a
28、dd(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
29、(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();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.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 javax.swing.JLabel
33、;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 ActionListenerprivate JLabel lbljixu;private JButton btngetcard;private JButton btncard,btn
34、010,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.setSize(435, 350
35、);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.setBackgro
36、und(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.setEnabled
37、(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);/添加登录输入卡号JL
38、abel 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(3
39、0, 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.addActionListener(this);panelmain.add(btnsure);btnsure.setBounds(70, 160, 80, 30);/添加重输按钮
40、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);/开户btn_addAccount = new JButton(开户);btn_addAccount.setBounds(70, 220, 80, 30);btn_addAccount.addActionList