文章目录

  • 前言
  • 一. 功能
  • 二. 代码
    • 银行卡数据
    • 转账流水数据
    • 用户数据
    • BanksController
    • UserController
    • BanksDao
    • RecordDao
    • UserDao
    • Banks
    • Record
    • User
    • BanksService 接口
    • UserService接口
    • BanksServiceImpl
    • UsersServiceImpl
    • AppStar 测试类
    • ConnectMsql (JDBC连接Mysql数据库)
    • AddBanksMoneyView
    • AddBanksView
    • AddUsersMoneyView
    • AddUserView
    • MainView
    • MoveMoneyView
    • ShowBanksView
    • ShowMoveMoney
    • ShowUserView
    • UpdatePwdView
    • UserLoginView
    • UsersView

前言

银行用户管理系统是由我的另一篇博客项目 Java实训项目——网银管理系统改编而来。 与之不同的是,这个小项目新增了 转账流水功能, 并且运用了 集合,JavaSpring,Mysql数据库和JDBC。 虽然大同小异,但亦有可取之处。


一. 功能

  1. 登陆

  2. 注册

  3. 首页

  4. 个人信息显示

  5. 修改密码

  6. 添加银行卡

  7. 银行卡查看

  8. 充值

  9. 提现

  10. 转账

  11. 用户管理

  12. 转账流水

把用户信息,银行卡信息和转账流水(包括充值,提现和转账)都存入数据库之中,在根据功能合理的使用这些数据。
详细的功能介绍在上一篇项目博客中已经介绍过了 ——网银管理系统。

二. 代码

银行卡数据

转账流水数据

用户数据

BanksController

package com.vector.controller;import com.vector.entity.Banks;
import com.vector.service.BanksService;
import com.vector.service.impl.BanksServiceImpl;import java.util.List;public class BanksController {private BanksServiceImpl service =new BanksServiceImpl();public boolean addBanks(Banks banks){return service.addBanks(banks);}public List<Banks> showBanksByTel(String tel){return service.showBanksByTel(tel);}public boolean deleteMoney(String banksNum,double money){return service.deleteMoney(banksNum,money);}public boolean addMoney(String banksNum,double money){return service.addMoney(banksNum,money);}public boolean moveMoney(String banksNum1,String banksNum2,double money){return  service.moveMoney(banksNum1,banksNum2,money);}public boolean chickNUm( String num) {return  service.chickNUm(num);}
}

UserController

package com.vector.controller;import com.vector.entity.Banks;
import com.vector.entity.User;
import com.vector.service.UserService;
import com.vector.service.impl.UsersServiceImpl;import java.sql.SQLException;
import java.util.List;// 用户管理
public class UserController {private UserService userService =new UsersServiceImpl();public User userLog(String tel,String pwd)  {return userService.findUSerByTelAdnpwd(tel,pwd);}
//    注册
//String name, String cardNum, String tel, String pwd, String email, double money, String relNamepublic boolean addUser(String name, String cardNum, String tel, String pwd, String email, String relName){User u =new User(name,cardNum,tel,pwd,email,0,relName);return userService.addUsers(u);}public boolean isExistTel(String tel) {return userService.isExistTel(tel);}public boolean isExistEmail(String email){return userService.isExistEmail(email);}public boolean updatePwd(String tel,String odlPwd,String pwd){return userService.updatePwd(tel,pwd);}public boolean addMoney(String tel,double money){return userService.addMoney(tel,money);}public boolean deleteMoney(String tel,double money){return userService.deleteMoney(tel,money);}public List<User> showUserTel(String tel){return userService.showUserTel(tel);}public List<User> showUser(){return userService.showUser();}public boolean chickNUm(String num) {return userService.chickNUm(num);}
}

BanksDao

package com.vector.dao;import com.vector.entity.Banks;
import com.vector.entity.User;
import com.vector.units.ConnectMsql;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;public class BanksDao {public boolean write(List<Banks> list){try {String delsql = "delete from banks where bankNum = ?";String sql = "insert into banks(bankNum,money,bankName,tel) values(?,?,?,?)";Connection connection = ConnectMsql.getConnectMsql();PreparedStatement ad = connection.prepareStatement(sql);PreparedStatement del = connection.prepareStatement(delsql);int f=0;for(Banks user:list) {del.setString(1, user.getBankNumber());del.executeUpdate();ad.setString(1, user.getBankNumber());ad.setDouble(2, user.getMoney());ad.setString(3, user.getBankName());ad.setString(4, user.getTel());int i = ad.executeUpdate();if(i<0) {System.out.println("添加失败!");f++;return false;}}if (f==0) {System.out.println("添加成功");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return true;}public List<Banks> read(){List<Banks> list=new ArrayList<>();Connection connection = ConnectMsql.getConnectMsql();Statement stmt;try {stmt = connection.createStatement();ResultSet rs = stmt.executeQuery("select * from banks");while (rs.next()) {Banks bank =new Banks(rs.getString("bankNum"), rs.getDouble("money"), rs.getString("bankName"), rs.getString("tel"));list.add(bank);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return list;}}

RecordDao

package com.vector.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;import com.vector.entity.Banks;
import com.vector.entity.Record;
import com.vector.units.ConnectMsql;public class RecordDao {public boolean write(List<Record> list) {LocalDateTime dateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  String dataString=new String(dateTime.format(formatter));try {     String delsql = "delete from movemoney where id = ?";String sql = "insert into movemoney(outuser,inuser,money,date,id) values(?,?,?,?,?)";Connection connection = ConnectMsql.getConnectMsql();PreparedStatement ad = connection.prepareStatement(sql);PreparedStatement del = connection.prepareStatement(delsql);int f=0,k=1;for(Record record:list) {del.setInt(1, record.getId());del.executeUpdate();ad.setString(1, record.getOutuser());ad.setString(2, record.getInuser());ad.setDouble(3, record.getMoney());ad.setString(4,dataString);ad.setInt(5,k);int i = ad.executeUpdate();k++;if(i<0) {System.out.println("添加失败!");f++;return false;}}if (f==0) {System.out.println("添加成功");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return true;}public List<Record> read(){List<Record> list=new ArrayList<>();Connection connection = ConnectMsql.getConnectMsql();Statement stmt;try {stmt = connection.createStatement();ResultSet rs = stmt.executeQuery("select * from movemoney");while (rs.next()) {Record record =new Record(rs.getString("outuser"), rs.getString("inuser"),rs.getDouble("money"), rs.getString("date"),rs.getInt("id"));list.add(record);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return list;}}

UserDao

package com.vector.dao;import java.util.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;import javax.sound.midi.Soundbank;import com.vector.entity.User;
import com.vector.units.ConnectMsql;public class UserDao {public boolean write(List<User> list) {try {String delsql = "delete from user where tel = ?";String sql = "insert into user(name,cardNum,tel,pwd,email,money,relName) values(?,?,?,?,?,?,?)";Connection connection = ConnectMsql.getConnectMsql();PreparedStatement ad = connection.prepareStatement(sql);PreparedStatement del = connection.prepareStatement(delsql);int f=0;for(User user:list) {del.setString(1, user.getTel());del.executeUpdate();//System.out.println("这是密码"+user.getPwd());ad.setString(1, user.getName());ad.setString(2, user.getCardNum());ad.setString(3, user.getTel());ad.setString(4, user.getPwd());ad.setString(5, user.getEmail());ad.setDouble(6, user.getMoney());ad.setString(7, user.getRelName());int i = ad.executeUpdate();if(i<0) {System.out.println("添加失败!");f++;return false;}}if (f==0) {System.out.println("添加成功");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return true;}public List<User> read() {List<User> list=new ArrayList<>();Connection connection = ConnectMsql.getConnectMsql();Statement stmt;try {stmt = connection.createStatement();ResultSet rs = stmt.executeQuery("select * from user");while (rs.next()) {User user=new User(rs.getString("name"), rs.getString("cardNum"), rs.getString("tel"),rs.getString("pwd"),rs.getString("email"), rs.getDouble("money"), rs.getString("relName"));list.add(user);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {ConnectMsql.closeConnection();}return list;}
}

Banks

package com.vector.entity;import javax.swing.*;
import java.io.Serializable;public class Banks  {private String bankNumber;private double money;private String bankName;private String tel;public Banks(String bankNumber, double money, String bankName, String tel) {this.bankNumber = bankNumber;this.money = money;this.bankName = bankName;this.tel = tel;}public String getBankNumber() {return bankNumber;}public void setBankNumber(String bankNumber) {this.bankNumber = bankNumber;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getBankName() {return bankName;}public void setBankName(String bankName) {this.bankName = bankName;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}@Overridepublic String toString() {return "Banks{" +"bankNumber='" + bankNumber + '\'' +", money=" + money +", bankName='" + bankName + '\'' +", tel='" + tel + '\'' +'}';}
}

Record

package com.vector.entity;public class Record {private String outuser;private String inuser;private double money;private String date;private int id;public String getOutuser() {return outuser;}public void setOutuser(String outuser) {this.outuser = outuser;}public String getInuser() {return inuser;}public int getId() {return id;}public void setId(int id) {this.id = id;}public void setInuser(String inuser) {this.inuser = inuser;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}public Record(String outuser, String inuser, double money, String date, int id) {super();this.outuser = outuser;this.inuser = inuser;this.money = money;this.date = date;this.id = id;}@Overridepublic String toString() {return "Record [outuser=" + outuser + ", inuser=" + inuser + ", money=" + money + ", date=" + date + "]";}
}

User

package com.vector.entity;import java.io.Serializable;public class User  {private String name;private String cardNum;private String tel;private String pwd;private String email;private double money;private String relName;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCardNum() {return cardNum;}public void setCardNum(String cardNum) {this.cardNum = cardNum;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getRelName() {return relName;}public void setRelName(String relName) {this.relName = relName;}public User(String name, String cardNum, String tel, String pwd, String email, double money, String relName) {this.name = name;this.cardNum = cardNum;this.tel = tel;this.pwd = pwd;this.email = email;this.money = money;this.relName = relName;}public String toString() {return "User{" +"name='" + name + '\'' +", cardNum='" + cardNum + '\'' +", tel='" + tel + '\'' +", pwd='" + pwd + '\'' +", email='" + email + '\'' +", money=" + money +", relName='" + relName + '\'' +'}';}
}

BanksService 接口

package com.vector.service;import com.vector.entity.Banks;import java.util.List;public interface BanksService {public boolean addBanks(Banks banks);public List<Banks> showBanksByTel(String tel);public boolean deleteMoney(String banksNum,double money);boolean moveMoney(String banksNum1, String banksNum2, double money);boolean chickNUm(String num);
}

UserService接口

package com.vector.service;import com.vector.entity.Banks;
import com.vector.entity.User;import java.sql.SQLException;
import java.util.List;public interface UserService  {public User findUSerByTelAdnpwd(String tel,String pwd);public boolean addUsers(User user);public boolean isExistTel(String tel);public boolean isExistEmail(String email);public boolean updatePwd(String tel,String pwd);public boolean addMoney(String tel,double money);boolean deleteMoney(String tel, double money);public List<User> showUserTel(String tel);public List<User> showUser();boolean chickNUm(String num);
}

BanksServiceImpl

package com.vector.service.impl;import com.vector.dao.BanksDao;
import com.vector.dao.BanksDao;
import com.vector.entity.Banks;
import com.vector.entity.User;
import com.vector.service.BanksService;import java.util.ArrayList;
import java.util.List;public class BanksServiceImpl implements BanksService {private BanksDao dao =new BanksDao();private  List<Banks> list;@Overridepublic boolean addBanks(Banks banks) {list =new ArrayList<>();list= dao.read();list.add(banks);return dao.write(list);}@Overridepublic List<Banks> showBanksByTel(String tel) {List<Banks> list=dao.read();List<Banks> uList=new ArrayList<>();for (Banks b:list){if (b.getTel().equals(tel)) {uList.add(b);}}return uList;}@Overridepublic boolean deleteMoney(String banksNum, double money) {List<Banks> list=dao.read();for (Banks b:list){System.out.println("长度"+list.size());if (banksNum.equals(b.getBankNumber())){double mo =b.getMoney();if (mo-money<0){return false;}else {b.setMoney(mo-money);System.out.println("银行卡减后"+b.getMoney());}}}return dao.write(list);}@Overridepublic boolean moveMoney(String banksNum1, String banksNum2, double money) {List<Banks> list =dao.read();//System.out.println("出账户"+banksNum1+",入账户"+banksNum2);for (Banks b: list) {if (b.getBankNumber().equals(banksNum1) ) {if (b.getMoney()-money>=0)b.setMoney(b.getMoney() - money);else return false;}}for (Banks b:list){if (b.getBankNumber().equals(banksNum2)){b.setMoney(b.getMoney()+money);}}return dao.write(list);}@Overridepublic boolean chickNUm(String num) {List<Banks> list =dao.read();for (Banks b:list){if (b.getBankNumber().equals(num)){return true;}}return false;}public boolean addMoney(String banksNum, double money) {List<Banks> list =dao.read();for (Banks b:list){if (b.getBankNumber().equals(banksNum)){System.out.printf("银行余额(+):"+b.getMoney());b.setMoney(b.getMoney()+money);}}return dao.write(list);}
}

UsersServiceImpl

package com.vector.service.impl;import com.vector.dao.RecordDao;
import com.vector.dao.UserDao;
import com.vector.dao.UserDao;
import com.vector.entity.Banks;
import com.vector.entity.Record;
import com.vector.entity.User;
import com.vector.service.UserService;
import org.w3c.dom.ls.LSInput;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;public class UsersServiceImpl implements UserService {private UserDao dao =new UserDao();private RecordDao dao1 =new RecordDao();@Overridepublic User findUSerByTelAdnpwd(String tel, String pwd) {List<User> list =dao.read();for (User U:list){if(U.getTel().equals(tel)&&U.getPwd().equals(pwd)){System.out.println("登录成功!");return U;}}return null;}@Overridepublic boolean addUsers(User user) {List<User> list =dao.read();for(User user2 : list) {if(user.getTel().equals(user2.getTel())){return false;}}list.add(user);return dao.write(list);}@Overridepublic boolean isExistTel(String tel) {List<User> list =dao.read();for(User u:list){if(u.getTel().equals(tel)){return true;}}return false;}@Overridepublic boolean isExistEmail(String email) {List<User> list =dao.read();for (User u:list){if(u.getEmail().equals(email)){return true;}}return false;}public boolean updatePwd(String tel,String pwd) {List<User> list =dao.read();for (User user: list){String uTel = user.getTel();if ((uTel).equals(tel)){ user.setPwd(pwd); // System.out.println(user.getPwd());return dao.write(list);}}return false;}public boolean addMoney(String tel, double money) {List<User> list =dao.read();for (User user:list){if (user.getTel().equals(tel)){user.setMoney(user.getMoney()+money);System.out.println(user.getMoney());return dao.write(list);}}return false;}public boolean deleteMoney(String tel, double money) {List<User> list=dao.read();for (User user:list){if (tel.equals(user.getTel())){double mo =user.getMoney();if (mo-money<0){return false;}else {System.out.println(user.getMoney());user.setMoney(mo-money);System.out.println(user.getMoney());}}}return dao.write(list);}public List<User> showUserTel(String tel) {return null;}@Overridepublic List<User> showUser() {List<User> list=dao.read();return list;}@Overridepublic boolean chickNUm(String num) {List<User>list=dao.read();for (User user:list){if (user.getTel().equals(num)){return true;}}return false;}public List<User> showUserTel() {List<User> list=dao.read();List<User> uList=new ArrayList<>();return uList;}public boolean addRecord(String out,String in,Double money) {List<Record> list =dao1.read();Record record =new Record(out, in, money, "0",0);list.add(record);return dao1.write(list);}public List<Record> showRecords() {List<Record>list =dao1.read();return list;}}

AppStar 测试类

package com.vector.test;import com.vector.view.UserLoginView;public class AppStar {public static void main(String[] args) {UserLoginView u =new UserLoginView();}
}

ConnectMsql (JDBC连接Mysql数据库)

package com.vector.units;import java.sql.*;public class ConnectMsql {public static Connection connect;public static Connection getConnectMsql() {try {Class.forName("com.mysql.cj.jdbc.Driver");// Class.forName("org.gjt.mm.mysql.Driver");//System.out.println("成功加载Mysql驱动程序!");} catch (Exception e) {System.out.print("加载Mysql驱动程序时出错!");e.printStackTrace();}try {connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/BankManagementSystem?&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true","root", "zpx");//System.out.println("成功连接Mysql服务器!");Statement stmt = connect.createStatement();} catch (Exception e) {System.out.print("获取连接错误!");e.printStackTrace();}return connect;}public static void closeConnection() {if (connect != null) {try {connect.close();// System.out.println("数据库连接关闭");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

AddBanksMoneyView

package com.vector.view;import com.vector.controller.BanksController;
import com.vector.controller.UserController;
import com.vector.entity.Banks;
import com.vector.entity.User;
import com.vector.service.impl.UsersServiceImpl;import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;public class AddBanksMoneyView extends JPanel implements MouseListener {private JPanel top,bom;private JLabel moneyJL,banksNumJL;private JTextField moneyJF;private JComboBox banksNumJB;private JButton sub;private User user;public AddBanksMoneyView(User user, List<Banks> list){this.user=user;this.setLayout(new BorderLayout());top =new JPanel();top.setLayout(new GridLayout(2,2,20,20));moneyJL=new JLabel("请输入提现金额:",JLabel.CENTER);moneyJF=new JTextField(20);top.add(moneyJL);top.add(moneyJF);banksNumJL =new JLabel("请选择提现银行卡号",JLabel.CENTER);banksNumJB =new JComboBox();banksNumJB.addItem("---请选择---");for (Banks b: list){banksNumJB.addItem(b.getBankNumber());}top.add(banksNumJL);top.add(banksNumJB);this.add(top,BorderLayout.CENTER);bom =new JPanel();sub =new JButton("提现");sub.addMouseListener(this);bom.add(sub);this.add(bom,BorderLayout.SOUTH);}@Overridepublic void mouseClicked(MouseEvent e) {String moneys=moneyJF.getText();String banksNum=banksNumJB.getSelectedItem().toString();// System.out.println("这是卡号"+banksNum+",提现"+);if (moneys.equals("")){JOptionPane.showMessageDialog(null,"金额不能为空!");return;}else if("---请选择---".equals(banksNum)){JOptionPane.showMessageDialog(null,"请选择银行卡!");return;}try {double money = Double.parseDouble(moneys);if (money <= 0) {JOptionPane.showMessageDialog(null, "充值金额要大于0!");return;}} catch (Exception ex) {JOptionPane.showMessageDialog(null, "请输入数字!");return;}double money =Double.parseDouble(moneys);BanksController banksController =new BanksController();UserController userController=new UserController();boolean flag= userController.deleteMoney(user.getTel(), money);if(flag){banksController.addMoney(banksNum,money);JOptionPane.showMessageDialog(null,"提现成功");UsersServiceImpl usersServiceImpl =new UsersServiceImpl();if (usersServiceImpl.addRecord(user.getTel(),banksNum, money)) {System.out.println("存取记录成功!");}return;}else {JOptionPane.showMessageDialog(null,"账户余额不足,提现失败!");return;}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

AddBanksView

package com.vector.view;import com.vector.controller.BanksController;
import com.vector.dao.BanksDao;
import com.vector.entity.Banks;
import com.vector.entity.User;import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;public class AddBanksView extends JPanel implements MouseListener {private User user;private JPanel top,bom;private JLabel bankNumJL, moneyJL, bankNameJL;private JTextField bankNumJF,moneyJF,bankNameJF;private JButton sub;public AddBanksView(User user){this.user=user;this.setLayout(new BorderLayout());top=new JPanel();top.setLayout(new GridLayout(3,2,20,20));bankNumJL =new JLabel("卡号:",JLabel.CENTER);bankNumJF=new JTextField(20);top.add(bankNumJL);top.add(bankNumJF);bankNameJL =new JLabel("开户行",JLabel.CENTER);bankNameJF=new JTextField(20);top.add(bankNameJL);top.add(bankNameJF);moneyJL=new JLabel("余额",JLabel.CENTER);moneyJF=new JTextField(20);top.add(moneyJL);top.add(moneyJF);this.add(top,BorderLayout.CENTER);bom=new JPanel();sub =new JButton("提交");sub.setName("sub");sub.addMouseListener(this);bom.add(sub);this.add(bom,BorderLayout.SOUTH);}@Overridepublic void mouseClicked(MouseEvent e) {String bankNum=bankNumJF.getText();String money =moneyJF.getText();//double bankName =Double.parseDouble(bankNumJF.getText());String bankName=bankNameJF.getText();if (bankNum.equals("")){JOptionPane.showMessageDialog(null,"卡号不能为空");bankNameJF.setText("");bankNumJF.setText("");moneyJF.setText("");}if (money.equals("")){JOptionPane.showMessageDialog(null,"余额不能为空");bankNameJF.setText("");bankNumJF.setText("");moneyJF.setText("");}if (bankName.equals("")){JOptionPane.showMessageDialog(null,"开户行不能为空");bankNameJF.setText("");bankNumJF.setText("");moneyJF.setText("");}double mo=Double.parseDouble(money);BanksController b =new BanksController();Banks banks =new Banks(bankNum,mo,bankName,user.getTel());boolean flag =b.addBanks(banks);if (flag){JOptionPane.showMessageDialog(null,"添加成功!");bankNameJF.setText("");bankNumJF.setText("");moneyJF.setText("");}else {JOptionPane.showMessageDialog(null,"添加失败!");bankNameJF.setText("");bankNumJF.setText("");moneyJF.setText("");}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

AddUsersMoneyView

package com.vector.view;import com.vector.controller.BanksController;
import com.vector.controller.UserController;
import com.vector.entity.Banks;
import com.vector.entity.User;
import com.vector.service.impl.UsersServiceImpl;import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;public class AddUsersMoneyView extends JPanel implements MouseListener {private JPanel top,bom;private JLabel moneyJL,banksNumJL;private JTextField moneyJF;private JComboBox banksNumJB;private JButton sub;private User user;public AddUsersMoneyView(User user, List<Banks> list){this.user=user;this.setLayout(new BorderLayout());top =new JPanel();top.setLayout(new GridLayout(2,2,20,20));moneyJL=new JLabel("请输入充值金额:",JLabel.CENTER);moneyJF=new JTextField(20);top.add(moneyJL);top.add(moneyJF);banksNumJL =new JLabel("请选择充值账户",JLabel.CENTER);banksNumJB =new JComboBox();banksNumJB.addItem("---请选择---");for (Banks b: list){banksNumJB.addItem(b.getBankNumber());}top.add(banksNumJL);top.add(banksNumJB);this.add(top,BorderLayout.CENTER);bom =new JPanel();sub =new JButton("充值");sub.addMouseListener(this);bom.add(sub);this.add(bom,BorderLayout.SOUTH);}@Overridepublic void mouseClicked(MouseEvent e) {String moneys=moneyJF.getText();String banksNum=banksNumJB.getSelectedItem().toString();if (moneys.equals("")){JOptionPane.showMessageDialog(null,"金额不能为空!");return;}else if("---请选择---".equals(banksNum)){JOptionPane.showMessageDialog(null,"请选择银行卡!");return;}try {double money = Double.parseDouble(moneys);if (money <= 0) {JOptionPane.showMessageDialog(null, "充值金额要大于0!");return;}} catch (Exception ex) {JOptionPane.showMessageDialog(null, "请输入数字!");return;}double money =Double.parseDouble(moneys);BanksController banksController =new BanksController();UserController userController=new UserController();boolean flag=banksController.deleteMoney(banksNum,money);if(flag){userController.addMoney(user.getTel(), money);JOptionPane.showMessageDialog(null,"充值成功");UsersServiceImpl usersServiceImpl =new UsersServiceImpl();if (usersServiceImpl.addRecord(banksNum,user.getTel(), money)) {System.out.println("存取记录成功!");}return;}else {JOptionPane.showMessageDialog(null,"银行卡余额不足,请更换银行卡!");return;}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

AddUserView

package com.vector.view;import com.vector.controller.UserController;import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;public class AddUserView extends Dialog implements MouseListener {private JPanel jp;private JLabel telJL,pwdJL,nameJL,relnameJL,cardNumJL,emailJL;private JTextField telJF,nameJF,relnameJF,cardNumJF,emailJF;private JPasswordField pwdJF;private JButton sub,clo;public AddUserView (Frame owner){super(owner);jp= new JPanel();jp.setBackground(Color.pink);jp.setBorder(new EmptyBorder(20,20,20,20));jp.setLayout(new GridLayout(10,2,20,20));EmptyBorder job =new EmptyBorder(0,20,0,0);EmptyBorder fbo =new EmptyBorder(0,0,0,0);telJL =new JLabel("手机号",JLabel.LEFT);telJL .setIcon(new ImageIcon("img/phone_icon.png"));telJL.setBorder(job);telJF =new JTextField(20);telJF.setBorder(fbo);jp.add(telJL);jp.add(telJF);pwdJL =new JLabel("密码",JLabel.LEFT);pwdJL .setIcon(new ImageIcon("img/password_icon.png"));pwdJL.setBorder(job);pwdJF = new JPasswordField(20);pwdJF.setBorder(fbo);jp.add(pwdJL);jp.add(pwdJF);nameJL =new JLabel("昵称",JLabel.LEFT);nameJL .setIcon(new ImageIcon("img/name_icon.png"));nameJL.setBorder(job);nameJF =new JTextField(20);nameJF.setBorder(fbo);jp.add(nameJL);jp.add(nameJF);relnameJL =new JLabel("真实姓名",JLabel.LEFT);relnameJL .setIcon(new ImageIcon("img/username_icon.png"));relnameJL.setBorder(job);relnameJF =new JTextField(20);relnameJF.setBorder(fbo);jp.add(relnameJL);jp.add(relnameJF);cardNumJL =new JLabel("身份证号",JLabel.LEFT);cardNumJL .setIcon(new ImageIcon("img/idc_icon.png"));cardNumJL.setBorder(job);cardNumJF =new JTextField(20);cardNumJF.setBorder(fbo);jp.add(cardNumJL);jp.add(cardNumJF);emailJL =new JLabel("邮箱",JLabel.LEFT);emailJL .setIcon(new ImageIcon("img/msg_icon.png"));emailJL.setBorder(job);emailJF =new JTextField(20);emailJF.setBorder(fbo);jp.add(emailJL);jp.add(emailJF);sub =new JButton("提交");sub.setName("sub");sub.addMouseListener(this);jp.add(sub);clo=new JButton("取消");clo.setName("clo");clo.addMouseListener(this);jp.add(clo);this.add(jp);this.setSize(400,500);this.setIconImage(new ImageIcon("img/tubiao_qiaozhi.jpg").getImage());this.setLocationRelativeTo(null);  //居中this.setVisible(true);this.setTitle("用户注册");this.setResizable(false);// super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void mouseClicked(MouseEvent e) {String str = e.getComponent().getName();switch (str) {case "sub":
//                String name, String cardNum, String tel, String pwd, String email, double money, String relNameString tel =telJF.getText();String pwd= new String(pwdJF.getPassword());String name=nameJF.getText();String relName=cardNumJF.getText();String cardNUm=cardNumJF.getText();String email=emailJF.getText();if (tel.equals("")){JOptionPane.showMessageDialog(null,"手机号不能为空!");break;}else if (pwd.equals("")){JOptionPane.showMessageDialog(null,"密码不能为空!");break;}else if (name.equals("")){JOptionPane.showMessageDialog(null,"昵称不能为空!");break;}else if (relName.equals("")){JOptionPane.showMessageDialog(null,"真实姓名不能为空!");break;}else if (cardNUm.equals("")){JOptionPane.showMessageDialog(null,"身份证号不能为空!");break;}else if (email.equals("")){JOptionPane.showMessageDialog(null,"邮箱不能为空!");break;}UserController con =new UserController();if (con.isExistEmail(tel)){JOptionPane.showMessageDialog(null,"手机号已被注册");break;}else if (con.isExistEmail(email)){JOptionPane.showMessageDialog(null,"邮箱已被注册");break;}else if (con.isExistEmail(cardNUm)){JOptionPane.showMessageDialog(null,"身份证号被注册");break;}boolean flag =con.addUser(tel,pwd,name,relName,cardNUm,email);if (flag){JOptionPane.showMessageDialog(null,"注册成功!");dispose();}else {JOptionPane.showMessageDialog(null,"注册失败!");}break;case "clo":dispose();break;}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

MainView

package com.vector.view;import com.vector.controller.BanksController;
import com.vector.controller.UserController;
import com.vector.entity.Banks;
import com.vector.entity.Record;
import com.vector.entity.User;
import com.vector.service.UserService;
import com.vector.service.impl.UsersServiceImpl;import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;public class MainView extends JFrame implements MouseListener {private User user;private  JPanel jpJP,topJP,leftJP,conJP,indexJP;private  JLabel logoJL,welJL,indexJL;private JButton indexJB,showUserJB,pwdJB,banksJB,addMoneyJB,deleteMoneyJB,moveMoneyJB,updateUserJB,addBanksJB,showMoveMoneyJB;public MainView(User user){jpJP=new JPanel();jpJP.setLayout(new BorderLayout());topJP =new JPanel();logoJL=new JLabel();//logoJL.setIcon(new ImageIcon("img/logo.png"));ImageIcon lo =new ImageIcon("img/logo_zhiti.png");lo.setImage(lo.getImage().getScaledInstance(120,30,Image.SCALE_DEFAULT));logoJL.setIcon(lo);welJL=new JLabel("欢迎用户:"+user.getName());topJP.add(welJL);topJP.add(logoJL);jpJP.add(topJP,BorderLayout.NORTH);//左侧导航leftJP=new JPanel();leftJP.setLayout(new GridLayout(10,1,20,7));EmptyBorder jb =new EmptyBorder(20,15,10,20);indexJB =new JButton("首页");indexJB.setForeground(Color.BLUE);indexJB.setName("indexJB");indexJB.setBorder(jb);indexJB.addMouseListener(this);leftJP.add(indexJB);showUserJB =new JButton("用户信息");showUserJB.setForeground(Color.BLUE);showUserJB.setName("showUserJB");showUserJB.setBorder(jb);showUserJB.addMouseListener(this);leftJP.add(showUserJB);pwdJB =new JButton("修改密码");pwdJB.setForeground(Color.BLUE);pwdJB.setName("pwdJB");pwdJB.setBorder(jb);pwdJB.addMouseListener(this);leftJP.add(pwdJB);addBanksJB =new JButton("添加银行卡");addBanksJB.setForeground(Color.BLUE);addBanksJB.setName("addBankJB");addBanksJB.setBorder(jb);addBanksJB.addMouseListener(this);leftJP.add(addBanksJB);banksJB =new JButton("银行卡");banksJB.setForeground(Color.BLUE);banksJB.setName("banksJB");banksJB.setBorder(jb);banksJB.addMouseListener(this);leftJP.add(banksJB);addMoneyJB =new JButton("充值");addMoneyJB.setForeground(Color.BLUE);addMoneyJB.setName("addMoneyJB");addMoneyJB.setBorder(jb);addMoneyJB.addMouseListener(this);leftJP.add(addMoneyJB);deleteMoneyJB =new JButton("提现");deleteMoneyJB.setForeground(Color.BLUE);deleteMoneyJB.setName("deleteMoneyJB");deleteMoneyJB.setBorder(jb);deleteMoneyJB.addMouseListener(this);leftJP.add(deleteMoneyJB);moveMoneyJB =new JButton("转账");moveMoneyJB.setForeground(Color.BLUE);moveMoneyJB.setName("moveMoneyJB");moveMoneyJB.setBorder(jb);moveMoneyJB.addMouseListener(this);leftJP.add(moveMoneyJB);updateUserJB =new JButton("用户管理");updateUserJB.setForeground(Color.BLUE);updateUserJB.setName("updateUserJB");updateUserJB.setBorder(jb);updateUserJB.addMouseListener(this);leftJP.add(updateUserJB);showMoveMoneyJB =new JButton("转账流水");showMoveMoneyJB.setForeground(Color.BLUE);showMoveMoneyJB.setName("showMoveMoneyJB");showMoveMoneyJB.setBorder(jb);showMoveMoneyJB.addMouseListener(this);leftJP.add(showMoveMoneyJB);jpJP.add(leftJP,BorderLayout.WEST);conJP=new JPanel();conJP.setBorder(new EmptyBorder(10,10,10,10));indexJP =new JPanel();indexJP.setSize(400,400);indexJL=new JLabel();ImageIcon icon =new ImageIcon("img/bj_vector.jpg");icon.setImage(icon.getImage().getScaledInstance(450,350,Image.SCALE_DEFAULT));indexJL.setIcon(icon);indexJP.add(indexJL);conJP.add(indexJP);jpJP.add(conJP);this.add(jpJP);this.user=user;this.setIconImage(new ImageIcon("img/tubiao_peiqi.jpg").getImage());this.setSize(630,480);this.setLocationRelativeTo(null);  //居中this.setTitle("银行账户管理系统");this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void  updateView(JPanel jp){conJP.removeAll();conJP.add(jp);conJP.validate();conJP.updateUI();}@Overridepublic void mouseClicked(MouseEvent e) {//        JButton indexJB,showUserJB,pwdJB,banksJB,addMoneyJB,deleteMoneyJB,moveMoneyJB,updateUserJB;String str =e.getComponent().getName();switch (str){case "indexJB":updateView(indexJP);break;case "showUserJB":UserController userController0 =new UserController();List<User> list0 = userController0.showUser();ShowUserView showUserView =new ShowUserView(user,list0);updateView(showUserView);break;case "pwdJB"://System.out.println("11111");UpdatePwdView updatePwdView =new UpdatePwdView(user);updateView(updatePwdView);break;case  "addBankJB":AddBanksView addBanksView=new AddBanksView(user);updateView(addBanksView);break;case  "banksJB":BanksController banksController =new BanksController();List<Banks> list = banksController.showBanksByTel(user.getTel());ShowBanksView showBanksView=new ShowBanksView(list);updateView(showBanksView);break;case "addMoneyJB":BanksController banksController1 =new BanksController();List<Banks> lists =banksController1.showBanksByTel(user.getTel());AddUsersMoneyView addUsersMoneyView =new AddUsersMoneyView(user,lists);updateView(addUsersMoneyView);break;case "deleteMoneyJB":BanksController banksController2 =new BanksController();List<Banks> listss =banksController2.showBanksByTel(user.getTel());AddBanksMoneyView addBanksMoneyView =new AddBanksMoneyView(user,listss);updateView(addBanksMoneyView);break;case "moveMoneyJB":BanksController banksController3 =new BanksController();List<Banks> listsss =banksController3.showBanksByTel(user.getTel());MoveMoneyView moveMoneyView =new MoveMoneyView(listsss);updateView(moveMoneyView);break;case "updateUserJB":UserController userController =new UserController();List<User> list1 = userController.showUser();UsersView usersView =new UsersView(list1);updateView(usersView);break;case "showMoveMoneyJB":UsersServiceImpl usersServiceImpl =new UsersServiceImpl();List<Record> list2 =usersServiceImpl.showRecords();ShowMoveMoney showMoveMoney =new ShowMoveMoney(list2);updateView(showMoveMoney);break;}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

MoveMoneyView

package com.vector.view;import com.vector.controller.BanksController;
import com.vector.controller.UserController;
import com.vector.entity.Banks;
import com.vector.service.impl.UsersServiceImpl;import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.List;public class MoveMoneyView extends JPanel implements MouseListener {ImageIcon icon;Image img;private Box boxV,boxH,boxH1,boxH2,boxH3,boxH4;private JLabel inMoneyJL,outMoneyJL,moneyJL,topJL,inMoneyNumJL,outMoneyNumJL;private JTextField moneyJF,outMoneyJF,inMoneyJF;private JButton stu;private JComboBox inMoneyJC,outMoneyJC;public MoveMoneyView(List<Banks> list) {icon=new ImageIcon("img/bg2.png");img=icon.getImage();boxH=Box.createHorizontalBox();boxH1=Box.createHorizontalBox();boxH2=Box.createHorizontalBox();boxH3=Box.createHorizontalBox();boxH4=Box.createHorizontalBox();boxV=Box.createVerticalBox();topJL =new JLabel("银行卡转账");topJL.setFont(new Font("微软雅黑", Font.BOLD, 26));boxH.add(topJL);outMoneyJL=new JLabel("请选择转出对象:");outMoneyJC = new JComboBox();outMoneyJC.addItem("---请选择---");outMoneyJC.addItem("账户");outMoneyJC.addItem("银行卡");outMoneyNumJL=new JLabel("请输入转出的卡号或手机号:");outMoneyJF =new JTextField();boxH1.add(outMoneyJL);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(outMoneyJC);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(outMoneyNumJL);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(outMoneyJF);inMoneyJL=new JLabel("请选择转入对象:");inMoneyJC = new JComboBox();inMoneyJC.addItem("---请选择---");inMoneyJC.addItem("账户");inMoneyJC.addItem("银行卡");inMoneyNumJL=new JLabel("请输入转出的卡号或手机号:");inMoneyJF =new JTextField();boxH2.add(inMoneyJL);boxH2.add(Box.createHorizontalStrut(10));boxH2.add(inMoneyJC);boxH2.add(Box.createHorizontalStrut(10));boxH2.add(inMoneyNumJL);boxH2.add(Box.createHorizontalStrut(10));boxH2.add(inMoneyJF);moneyJL =new JLabel("请输入转帐金额:");moneyJF=new JTextField(20);moneyJF.setFont(new Font(null, Font.PLAIN, 20));boxH3.add(Box.createHorizontalStrut(30));boxH3.add(moneyJL);boxH3.add(Box.createHorizontalStrut(18));boxH3.add(moneyJF);boxH3.add(Box.createHorizontalStrut(30));stu =new JButton("确定");stu.setName("stu");stu.addMouseListener(this);boxH4.add(stu);boxV.add(boxH);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH1);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH2);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH3);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH4);boxV.add(Box.createVerticalStrut(80));this.add(boxV);}public void paintComponent(Graphics g) {super.paintComponent(g);g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);}@Overridepublic void mouseClicked(MouseEvent e) {String moneys = moneyJF.getText();String outCla=outMoneyJC.getSelectedItem().toString();String inCla=inMoneyJC.getSelectedItem().toString();String outNum=outMoneyJF.getText();String inNum=inMoneyJF.getText();if (moneys.equals("")){JOptionPane.showMessageDialog(null,"金额不能为空!");return;}else if("---请选择---".equals(outCla)||"---请选择---".equals(inCla)){JOptionPane.showMessageDialog(null,"请选择类型!");return;}else if (outNum.equals("")||inNum.equals("")){JOptionPane.showMessageDialog(null,"账户不能为空!");}try {double money = Double.parseDouble(moneys);if (money <= 0) {JOptionPane.showMessageDialog(null, "充值金额要大于0!");return;}} catch (Exception ex) {JOptionPane.showMessageDialog(null, "请输入数字!");return;}double money =Double.parseDouble(moneys);BanksController banksController =new BanksController();BanksController banksController1 =new BanksController();UserController userController=new UserController();boolean flag;boolean a = false,b=false;if (outCla.equals("银行卡")){a=banksController.chickNUm(outNum);if (inCla.equals("账户")){b=userController.chickNUm(inNum);}else if (inCla.equals("银行卡")){b=banksController.chickNUm(inNum);}}else if (outCla.equals("账户")){a=userController.chickNUm(outNum);if (inCla.equals("账户")){b=userController.chickNUm(inNum);}else if (inCla.equals("银行卡")){b=banksController.chickNUm(inNum);}}flag =a&&b;//        boolean flag= banksController.moveMoney(banksNum,banksNum1,money);if(flag){//banksController.addMoney(banksNum,money);int f=0;if (outCla.equals("银行卡")){//System.out.println("1银行卡减钱了");a=banksController.deleteMoney(outNum,money);if (inCla.equals("账户")&&a){b=userController.addMoney(inNum,money);}else if (inCla.equals("银行卡")&&a){// System.out.println("二银行卡加钱了");banksController1.addMoney(inNum,money);}else {JOptionPane.showMessageDialog(null,"账户余额不足,转账失败!");inMoneyJF.setText("");outMoneyJF.setText("");moneyJF.setText("");f=1;}}else if (outCla.equals("账户")){a=userController.deleteMoney(outNum,money);if (inCla.equals("账户")&&a){userController.addMoney(inNum,money);}else if (inCla.equals("银行卡")&&a){// System.out.println("2二银行卡加钱了");banksController.addMoney(inNum,money);}else {JOptionPane.showMessageDialog(null,"账户余额不足,转账失败!");inMoneyJF.setText("");outMoneyJF.setText("");moneyJF.setText("");f=1;}}if (f==0) {JOptionPane.showMessageDialog(null, "转账成功!");inMoneyJF.setText("");outMoneyJF.setText("");moneyJF.setText("");UsersServiceImpl usersServiceImpl =new UsersServiceImpl();if (usersServiceImpl.addRecord(outNum, inNum, money)) {System.out.println("存取记录成功!");}return;}}else {JOptionPane.showMessageDialog(null,"账户错误,转账失败!");inMoneyJF.setText("");outMoneyJF.setText("");moneyJF.setText("");return;}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

ShowBanksView

package com.vector.view;import com.vector.entity.Banks;import javax.swing.*;
import java.util.List;public class ShowBanksView extends JPanel {List<Banks> List;public ShowBanksView(List<Banks> list){//System.out.println(list.size());JScrollPane js =new JScrollPane();Object[] clum = {"卡号","开户行","余额"};Object[][] data=new Object[list.size()][3];for (int i=0;i<list.size();i++){Banks b =list.get(i);data[i][0]=b.getBankNumber();data[i][1]=b.getBankName();data[i][2]=b.getMoney();}JTable jTable =new JTable(data,clum);js.setViewportView(jTable);this.add(js);}
}

ShowMoveMoney

package com.vector.view;import java.util.List;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;import com.vector.entity.Banks;
import com.vector.entity.Record;public class ShowMoveMoney extends JPanel{public ShowMoveMoney(List<Record> list){//System.out.println(list.size());JScrollPane js =new JScrollPane();Object[] clum = {"转出用户","转入用户","金额","日期"};Object[][] data=new Object[list.size()][4];for (int i=0;i<list.size();i++){Record b =list.get(i);data[i][0]=b.getOutuser();data[i][1]=b.getInuser();data[i][2]=b.getMoney();data[i][3]=b.getDate();}JTable jTable =new JTable(data,clum);js.setViewportView(jTable);this.add(js);}}

ShowUserView

package com.vector.view;import com.vector.entity.User;import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.util.List;public class ShowUserView extends JPanel {private JPanel top,bom;private JLabel telJL,pwdJL,nameJL,relnameJL,cardNumJL,emailJL,balJL;private JTextField telJF,nameJF,relnameJF,cardNumJF,emailJF,balJF;private JPasswordField pwdJF;public ShowUserView(User user, List<User> list){this.setLayout(new BorderLayout());top=new JPanel();JLabel topJL =new JLabel("个人信息展示");topJL.setFont(new Font("微软雅黑", Font.PLAIN, 26));top.add(topJL);this.add(top,BorderLayout.NORTH);//下边bom=new JPanel();bom.setLayout(new GridLayout(7,2,2,10));EmptyBorder job =new EmptyBorder(0,0,20,20);EmptyBorder fbo =new EmptyBorder(0,0,0,0);telJL =new JLabel("手机号",JLabel.LEFT);telJL .setIcon(new ImageIcon("img/phone_icon.png"));telJL.setBorder(job);telJF =new JTextField(20);telJF.setText(user.getTel());telJF.setBorder(fbo);bom.add(telJL);bom.add(telJF);pwdJL =new JLabel("密码",JLabel.LEFT);pwdJL .setIcon(new ImageIcon("img/password_icon.png"));pwdJL.setBorder(job);pwdJF = new JPasswordField(20);pwdJF.setText(user.getPwd());pwdJF.setBorder(fbo);bom.add(pwdJL);bom.add(pwdJF);nameJL =new JLabel("昵称",JLabel.LEFT);nameJL .setIcon(new ImageIcon("img/name_icon.png"));nameJL.setBorder(job);nameJF =new JTextField(20);nameJF.setText(user.getName());nameJF.setBorder(fbo);bom.add(nameJL);bom.add(nameJF);relnameJL =new JLabel("真实姓名",JLabel.LEFT);relnameJL .setIcon(new ImageIcon("img/username_icon.png"));relnameJL.setBorder(job);relnameJF =new JTextField(20);relnameJF.setText(user.getRelName());relnameJF.setBorder(fbo);bom.add(relnameJL);bom.add(relnameJF);cardNumJL =new JLabel("身份证号",JLabel.LEFT);cardNumJL .setIcon(new ImageIcon("img/idc_icon.png"));cardNumJL.setBorder(job);cardNumJF =new JTextField(20);cardNumJF.setText(user.getCardNum());cardNumJF.setBorder(fbo);bom.add(cardNumJL);bom.add(cardNumJF);emailJL =new JLabel("邮箱",JLabel.LEFT);emailJL .setIcon(new ImageIcon("img/msg_icon.png"));emailJL.setBorder(job);emailJF =new JTextField(20);emailJF.setText(user.getEmail());emailJF.setBorder(fbo);bom.add(emailJL);bom.add(emailJF);balJL =new JLabel("余额",JLabel.LEFT);balJL .setIcon(new ImageIcon("img/balance_icon.png"));balJL.setBorder(job);balJF =new JTextField(20);for (User user1:list){if (user1.getTel().equals(user.getTel())){balJF.setText(String.valueOf(user1.getMoney()));}}balJF.setBorder(fbo);bom.add(balJL);bom.add(balJF);this.add(bom,BorderLayout.CENTER);}}

UpdatePwdView

package com.vector.view;import com.vector.controller.UserController;
import com.vector.entity.User;import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Objects;public class UpdatePwdView extends JPanel implements MouseListener {ImageIcon icon;Image img;private User user;private Box boxV,boxH1,boxH2,boxH3,boxH,boxH4;private JButton relJB,subJB;private JLabel pwdJL,pwd1JL,topJL,pwd2JL;private JPasswordField pwdJP,pwd1JP,pwd2JP;public UpdatePwdView(User user){icon=new ImageIcon("img/bg.png");img=icon.getImage();this.user=user;boxV = Box.createVerticalBox();boxH= Box.createHorizontalBox();boxH1= Box.createHorizontalBox();boxH2= Box.createHorizontalBox();boxH3= Box.createHorizontalBox();boxH4=Box.createHorizontalBox();topJL=new JLabel("修改密码");topJL.setFont(new Font("微软雅黑", Font.BOLD, 26));boxH.add(topJL);pwd2JL=new JLabel("请输入原密码:");pwd2JP=new JPasswordField(20);pwd2JL.setFont(new Font(null, Font.PLAIN, 18));boxH4.add(Box.createHorizontalStrut(80));boxH4.add(pwd2JL);boxH4.add(pwd2JP);boxH4.add(Box.createHorizontalStrut(80));pwdJL=new JLabel("请输入新密码:");pwdJP=new JPasswordField(20);pwdJL.setFont(new Font(null, Font.PLAIN, 18));boxH1.add(Box.createHorizontalStrut(80));boxH1.add(pwdJL);boxH1.add(pwdJP);boxH1.add(Box.createHorizontalStrut(80));pwd1JL =new JLabel("再次输入密码:");pwd1JL.setFont(new Font(null, Font.PLAIN, 18));pwd1JP =new JPasswordField(20);boxH2.add(Box.createHorizontalStrut(80));boxH2.add(pwd1JL);boxH2.add(pwd1JP);boxH2.add(Box.createHorizontalStrut(80));subJB =new JButton("确定");subJB.setName("subJB");subJB.addMouseListener(this);relJB =new JButton("重置");relJB.setName("relJB");relJB.addMouseListener(this);boxH3.add(Box.createHorizontalStrut(40));boxH3.add(subJB);boxH3.add(Box.createHorizontalStrut(40));boxH3.add(relJB);boxV.add(boxH);boxV.add(Box.createVerticalStrut(50));boxV.add(boxH4);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH1);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH2);boxV.add(Box.createVerticalStrut(40));boxV.add(boxH3);boxV.add(Box.createVerticalStrut(100));this.add(boxV);}public void paintComponent(Graphics g) {super.paintComponent(g);g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);}@Overridepublic void mouseClicked(MouseEvent e) {String str=e.getComponent().getName();String pwd2=new String(pwd2JP.getPassword());String pwd= new String(pwdJP.getPassword());String pwd1= new String(pwd1JP.getPassword());if(str.equals("subJB")) {if (pwd2.equals(user.getPwd())) {if (pwd.equals(pwd1)) {if (pwd2.equals("")||pwd.equals("") || pwd1.equals("")) {JOptionPane.showMessageDialog(null, "密码不能为空!");pwdJP.setText("");pwd1JP.setText("");pwd2JP.setText("");} else {user.setPwd(pwd);UserController userController =new UserController();boolean flag =userController.updatePwd(user.getTel(),pwd2,pwd);if (flag){JOptionPane.showMessageDialog(null, "修改成功!");}pwdJP.setText("");pwd1JP.setText("");pwd2JP.setText("");}} else {JOptionPane.showMessageDialog(null, "修改失败,两次密码不一致!");pwdJP.setText("");pwd1JP.setText("");pwd2JP.setText("");}}else {JOptionPane.showMessageDialog(null, "修改失败,原密码错误!");pwdJP.setText("");pwd1JP.setText("");pwd2JP.setText("");}}if(str.equals("relJB")){pwdJP.setText("");pwd1JP.setText("");}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

UserLoginView

package com.vector.view;
import com.vector.controller.*;
import com.vector.entity.User;import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;public class UserLoginView extends JFrame implements MouseListener {private JPanel jp;private JLabel top;private JPanel bom;private JLabel nameJL,pwdJL;private JTextField nameJF;private JPasswordField pwdJF;private JButton login,reg;public UserLoginView(){jp =new JPanel();jp.setLayout(new BorderLayout());top=new JLabel();ImageIcon icon =new ImageIcon("img/logo_zhibi.png");icon.setImage(icon.getImage().getScaledInstance(300,80, Image.SCALE_DEFAULT));top.setIcon(icon);top.setBorder(new EmptyBorder(20,70,20,30));jp.add(top,BorderLayout.NORTH);bom =new JPanel();bom.setLayout(new GridLayout(3,2,20,20));bom.setBorder(new EmptyBorder(0,40,30,40));// jp.setLayout(new GridLayout(2,3,20,20));nameJL =new JLabel("手机号:",JLabel.RIGHT);nameJL.setIcon(new ImageIcon("img/username_icon.png"));nameJL.setBorder(new EmptyBorder(0,0,0,20));nameJF = new JTextField(20);pwdJL=new JLabel("密    码:",JLabel.RIGHT);pwdJL.setIcon(new ImageIcon("img/password_icon.png"));pwdJL.setBorder(new EmptyBorder(0,0,0,20));pwdJF=new JPasswordField(20);login =new JButton("登录");login.setName("login");login.addMouseListener(this);reg=new JButton("注册");reg.setName("reg");reg.addMouseListener(this);bom.add(nameJL);bom.add(nameJF);bom.add(pwdJL);bom.add(pwdJF);bom.add(login);bom.add(reg);jp.add(bom,BorderLayout.CENTER);this.add(jp);this.setSize(450,300);this.setLocationRelativeTo(null);this.setVisible(true);this.setIconImage(new ImageIcon("img/bj_vector.jpg").getImage());this.setTitle("银行管理系统");this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void mouseClicked(MouseEvent e) {String str =e.getComponent().getName();System.out.println(str);if(str.equals("login")){String tel =nameJF.getText();String pwd =new String(pwdJF.getPassword());if(tel.equals("")){JOptionPane.showConfirmDialog(null,"手机号不能为空");}else if(pwdJF.equals("")){JOptionPane.showConfirmDialog(null,"密码不能为空");}else{UserController userController =new UserController();User user=userController.userLog(tel,pwd);if (user==null){JOptionPane.showMessageDialog(null,"登录失败!");}else {System.out.println("成功进入主页面");MainView mainView=new MainView(user);dispose();}}}else {AddUserView ad=new AddUserView(this);}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

UsersView

package com.vector.view;import com.vector.entity.*;
import com.vector.entity.User;import javax.swing.*;
import java.awt.event.MouseListener;
import java.util.List;public class UsersView extends JPanel  {//    String name, String cardNum, String tel, String pwd, String email, double money, String relNamejava.util.List<Banks> List;public UsersView(List<User> list){//System.out.println(list.size());JScrollPane js =new JScrollPane();Object[] clum = {"昵称","身份证号","电话号码","邮箱","余额","真实姓名"};Object[][] data=new Object[list.size()][6];for (int i=0;i<list.size();i++){User user =list.get(i);data[i][0]=user.getName();data[i][1]=user.getCardNum();data[i][2]=user.getTel();data[i][3]=user.getEmail();data[i][4]=user.getMoney();data[i][5]=user.getRelName();}JTable jTable =new JTable(data,clum);js.setViewportView(jTable);this.add(js);}
}

Java小项目-银行用户管理系统相关推荐

  1. java小项目---------银行新用户现金业务办理(运用数据库)

    银行新用户现金业务办理 1.任务描述     编写一个银行新用户现金业务办理程序,使其模拟新用户到银行办理现金存取业务时的场景.     要求此场景中,要模拟出银行对用户到来的欢迎动作.对用户离开的提 ...

  2. Java小项目--小型图书管理系统(含完整代码及工具)

    写在前面 对于一个java项目来说,我理解的整个流程是这样的: (1)进行需求分析 (2)设计数据库(重要) (3)编写java代码 注:数据库设计非常重要,特别是数据类型的定义,表与表之间的关系,如 ...

  3. Java小项目迷你图书管理系统

    package 迷你图书管理系统;import java.util.Scanner;public class BookMgr {public static void main(String[] arg ...

  4. java小项目(公交车管理系统+航空订票系统)

    航空订票系统 //测试函数放在Booking里面 //Enum PassengerCabin package systemofAirplane;public enum PassengerCabin { ...

  5. java小项目影院系统

    java小项目,影院管理系统 http://download.csdn.net/detail/github_32658299/9632276 下面是两个关键的类 1.这是电影院测试类,用来读取用户输入 ...

  6. java小项目家庭记账程序

    文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...

  7. SSM入门小项目----学生信息管理系统

    SSM入门小项目----学生信息管理系统 学习了SSM后,自己想动手写个小项目,巩固一下.选择了比较简单的学生信息管理系统,项目比较简单,包括的功能有:登录.学生信息的增删改查.分页(前端实现). 本 ...

  8. Java小项目中WEB-INF下jsp页面如何访问?

    Java小项目中WEB-INF下jsp页面如何访问? - 今天又是充满希望的一天 - CSDN博客 关闭 今天又是充满希望的一天 目录视图 摘要视图 订阅 var username = "H ...

  9. java小项目租车系统_Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的"呱呱租车系统" 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金 ...

最新文章

  1. Linux常用20条命令
  2. Xcode11 上传苹果卡在Authenticating with the iTunes store 或者transpoter上传卡在正在验证 APP - 正在通过App Store进行认证
  3. 【杂谈】想成为机器学习学霸?先学会做笔记吧
  4. C语言 | 卡尔曼滤波算法2——算法分析
  5. BellmanFord
  6. java实现短信上行源码_Java 发送短信验证码 示例源码
  7. java衍生作用_关于JAVA衍生出的一点想法
  8. mysql 填充结果,mysql为测试数据库填充大量数据
  9. ajax传递map参数给后端
  10. 关于scanf对换行的吸收
  11. cookie、session和application超详解说
  12. js获取url参数方法
  13. iOS 【iOS-切换控制器的手段及异同】
  14. Ubuntu安装基础教程(No Zuo No Die)
  15. ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
  16. 今晚7:30 | 面向人类和多智能策略的评估
  17. Java 行业的相关就业前景分析
  18. chrome浏览器安装redux-devtools调试工具
  19. 一款SpringBoot轻量级物联网综合业务支撑平台,附源码
  20. 端口隔离是什么?为什么需要端口隔离、如何实现端口隔离?一文解惑

热门文章

  1. 破解极域(1):专对付极域电子教室的程序——JiYuTrainer
  2. BZOJ3141:[HNOI2013]旅行
  3. 非常值得看的一篇文章—HP大中华区总裁孙振耀退休感言
  4. 《opencv学习笔记》-- 亚像素角点检测
  5. linux 内存条DDR几,DDR、DDR2、DDR3、SDRAM等内存的简要区别
  6. 爬虫-获取鼠标点击或则移动到指定位置才能获得的动态加载数据
  7. 安科瑞智能照明控制系统在商业办公楼的应用
  8. linux搜狗拼音卸载,Fedora20 安装fcitx 搜狗输入法 卸载ibus
  9. Ubuntu20.04 idea/pycharm 搜狗中文输入法不跟随光标问题
  10. ubuntu qt使用搜狗输入法