1、 Java银行管理系统源代码 70 2020年4月19日 文档仅供参考 Java小型银行管理系统源代码(图形界面) accounts.java package Account; public class accounts { protected int id;//银行账号 protected String password;//用户密码 protected String name;//用户型号 protected String personId;//身份账号 protected int accountType;//账号
2、类型,0代表储蓄卡,1代表信用卡 protected double balance;//账户余额。之因此定义为protected是让她的子类能够直接用,不需要经过方法来赋值。 protected double ceiling; public String getPassword(){ return password; } public void setPassword(String password){ this.password=password; } public String getName(){ return name; }
3、 public void setName(String name){ this.name=name; } public String getPersonId(){ return personId; } public void setPersonId(String personId){ this.personId=personId; } public int getAccountType(){ return accountType; } public void setAccountType(int account
4、Type){ 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){ this.id=id; } public double getCeiling(){
5、 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=pa
6、ssword; 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+ce
7、iling) 8、t;
import Account.accounts;
public class DBoper {
private Connection conn = null;
private Statement st = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
private ArrayList 9、s.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 accountDa 10、taUpdate(String sql){
conn=getConnection();
try{
pstmt=conn.prepareStatement(sql);
pstmt.executeUpdate();
//System.out.println("数据更新成功");
conn.close();
return true;
}catch(SQLException e){
e.printStackTrace();
//System.out.println("更新失败");
return false;
}
11、
}
//依据id来修改记录
public boolean dataupdateid(accounts user, int id) {
conn = getConnection();
try {
String sql = "update account set username=?,userpwd=?,personId=?,accountType=?,balance=?,ceiling=? where id="
+ id;
pstmt = conn.prepareStatement(sql);
pstmt.setString( 12、1, user.getName());
pstmt.setString(2, user.getPassword());
pstmt.setString(3, user.getPersonId());
pstmt.setInt(4, user.getAccountType());
pstmt.setDouble(5, user.getBalance());
pstmt.setDouble(6, user.getCeiling());
pstmt.executeUpdate();
System.out.println("操作成功");
13、 return true;
}
catch (SQLException e) {
e.printStackTrace();
System.out.println("操作失败");
return false;
}
}
//插入用户数据
public boolean accountDataInsert(accounts account){
conn=getConnection();
try{
pstmt=conn.prepareStatement("insert into account (username, 14、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.setDouble(5, account.getBalance());
15、
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(Str 16、ing 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 = "s 17、elect * from account where id =1001";
pstmt = conn.prepareStatement(sql);
System.out.println(sql);
rs = pstmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("检索失败");
}
return rs;
}
public ArrayList 18、 ArrayList 19、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);
}
20、}
catch (SQLException e) {
e.printStackTrace();
System.out.println("检索失败");
}
return list;
}
//根据卡号和密码验证用户是否存在
public boolean verify(int id,String password){
conn=getConnection();
try{
pstmt=conn.prepareStatement("select * from account where id=? and userpwd=?") 21、
pstmt.setInt(1, id);
pstmt.setString(2, password);
rs=pstmt.executeQuery();
if(rs.next()){
return true;
}else{
return false;
}
}catch(SQLException e){
e.printStackTrace();
return false;
}
}
/**
* 登录验证
*/
public accounts verifyAccount(i 22、nt id, String password) {
boolean flag = verify(id, password);
if(flag){
accounts account=queryByIDandPassword(id, password);
return account;
}
else
{
System.out.println("用户不存在!");
return null;
}
}
//根据卡号和密码查询信息
public accounts queryByIDandPassword(int 23、 id,String password){
conn=getConnection();
try{
pstmt=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.next()){
account.se 24、tId(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.setCeilin 25、g(rs.getDouble("ceiling"));
}
return account;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
//根据卡号查询信息
public accounts queryByID(int id){
conn=getConnection();
try{
pstmt=conn.prepareStatement("select * from account where id=?");
pstmt.set 26、Int(1, id);
rs=pstmt.executeQuery();
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 27、setAccountType(rs.getInt("accountType"));
account.setBalance(rs.getDouble("balance"));
account.setCeiling(rs.getDouble("ceiling"));
}
return account;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
// TODO 28、 Auto-generated method stub
DBoper op=new DBoper();
ArrayList 29、r.getPersonId());
System.out.println(user.getAccountType());
System.out.println(user.getBalance());
System.out.println(user.getCeiling());
}
}
}
//图像界面文件夹
DN_SYSTEM
Default.java //主界面
package DN_SYSTEM;
import java.awt.Color;
import java.awt.Container;
import java.a 30、wt.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;
publ 31、ic class Default extends JFrame implements 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;
32、 //account=db.queryByID(id);
jf=new JFrame("DEFAULT");
c=jf.getContentPane();
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 lb 33、lwel1 = new JLabel("请选择您需要的交易类型");
lblwel1.setBounds(120, 45, 350, 30);
c.add(lblwel1);
btn1 = new JButton("取款服务");
btn1.addActionListener(this);
btn1.setBounds(70, 90, 100, 30);
c.add(btn1);
btn2=new JButton("存款服务");
btn2.addActionListener(this);
btn2.setBounds(21 34、0, 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.add(btn4);
btn5 = new JButto 35、n("注销账户");
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,30 36、0);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
//事件处理
@Override
public void actionPerformed(ActionEvent e){
//取款服务
if(e.getSource().equals(btn1)){
OutMoney outmoney=new OutMoney();
outmoney.outMoney();
jf.dispose();
}
//存款服务
if(e. 37、getSource().equals(btn2)){
InMoney inmoney=new InMoney();
inmoney.InMoney();
jf.dispose();
}
//查询余额
if(e.getSource().equals(btn3)){
GetBalance getbalance=new GetBalance();
getbalance.getBalance();
jf.dispose();
}
//转账服务
if(e.getSource().equals(btn4)) 38、{
TransferAccounts tranfer=new TransferAccounts();
tranfer.transferAccounts();
jf.dispose();
}
//注销账户
if(e.getSource().equals(btn5)){
String sql="delete from account where id="+account.getId();
boolean flag=db.accountDataUpdate(sql);
if(flag){
JOptionPane.sh 39、owMessageDialog(this,"注销成功!");
}
else{
JOptionPane.showMessageDialog(this, "注销失败!");
}
}
if(e.getSource().equals(btn0)){
System.exit(0);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Default defaults=new Default();
de 40、faults.defaltDemo();
}
}
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;
i 41、mport 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{
pri 42、vate JLabel lbljixu;
private 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;
43、
public static int id;
static accounts client = 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() 44、{
//用卡片布局
Layout = new CardLayout();
container = getContentPane();
container.setLayout(Layout);
//添加第一张卡片
panelfirst = new JPanel(null);
//设置卡片的背景颜色
panelfirst.setBackground(new Color(119,119,253));
lbljixu = new JLabel("请放入磁卡,然后继续操作");
//设置卡片在Panel中的位置
45、 lbljixu.setBounds(140, 90, 350, 30);
//为第一张卡片添加一个Label
panelfirst.add(lbljixu);
//为第一张卡片添加一个按钮
btncard = new JButton("继续");
btncard.setBounds(310, 180, 80, 30);
//为按钮注册事件监听器
btncard.addActionListener(this);
//开始时设置按钮不可按
btncard.setEnabled(false);
panel 46、first.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.se 47、tBackground(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);
48、txt1.setBounds(170, 30, 200, 30);
JLabel lblpwd = new JLabel("请输入您的银行卡密码:");
panelmain.add(lblpwd);
lblpwd.setBounds(30, 80, 150, 30);
//设置文本框为密码型
txt2 = new JPasswordField(12);
//文本框不可选中
//txt2.enable(false);
panelmain.add(txt2);
//文本框的输入内容用*显示
txt2 49、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("重输");
btn010.addActionListener(this);
50、 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, 8






