1、Java银行管理系统源代码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 setPerso
3、nId(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;public void
4、 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;this.n
5、ame=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(ba
6、lancemoney)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
7、;private ArrayList 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 dataupdatei
9、d(accounts user, int id) conn = getConnection();try String sql = 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.getPer
10、sonId();pstmt.setInt(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 accountDataIn
11、sert(accounts account)conn=getConnection();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.setIn
12、t(4, account.getAccountType();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 dataque
13、ry(String sql) conn = getConnection();try 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);
14、System.out.println(sql);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.prepareStatemen
15、t(sql);rs = pstmt.executeQuery();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.getD
16、ouble(ceiling);list.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=? anduserpwd=?);pstmt.setInt(1, id);pstmt.s
17、etString(2, password);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)
18、;return account;elseSystem.out.println( 用户不存在! );return null;/ 根据卡号和密码查询信息public accounts queryByIDandPassword(int id,String password)conn=getConnection();trypstmt=conn.prepareStatement(select * from account where id=? anduserpwd=?);pstmt.setInt(1, id);pstmt.setString(2, password);rs=pstmt.executeQu
19、ery();accounts account=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.
20、setCeiling(rs.getDouble(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 accou
21、nts();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.getDouble(ceiling)
22、;return account;catch(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();
23、System.out.println(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
24、java.awt.event.ActionEvent;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 ext
25、ends JFrame implements 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.getConten
26、tPane();c.setLayout(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
27、.addActionListener(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
28、.addActionListener(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.set
29、Resizable(false);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();inmoney.InMoney();jf.dispose();/ 查询余额if(e.getSource().equals(btn3)GetBalance getbalanc
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1