Java小项目-银行用户管理系统

JAVA项目--银行管理系统 银行管理系统,支持登录注册功能,用户可进行存款、取款、转账、查询余额等业务 阅读详情


前言

银行用户管理系统是由我的另一篇博客项目 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 relName
    public 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 block
			e.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 block
			e.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 block
				e.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 block
				e.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 block
			e.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 block
			e.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;
    }

    @Override
    public 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;
	}
	@Override
	public 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;
    @Override
    public boolean addBanks(Banks banks) {
         list =new ArrayList<>();
         list= dao.read();
         list.add(banks);
        return dao.write(list);
    }

    @Override
    public 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;
    }

    @Override
    public 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);
        }

    @Override
    public 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);
    }

    @Override
    public 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();

    @Override
    public 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;
    }

    @Override
    public 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);
    }

    @Override
    public boolean isExistTel(String tel) {
        List<User> list =dao.read();
        for(User u:list){
            if(u.getTel().equals(tel)){
                return true;
            }
        }
        return false;
    }

    @Override
    public 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;
    }

    @Override
    public List<User> showUser() {
        List<User> list=dao.read();
        return list;
    }

    @Override
    public 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 block
				e.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);

    }


    @Override
    public 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;
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);

    }

    @Override
    public 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("");
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);

    }



    @Override
    public 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;
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);
    }
    @Override
    public 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 relName
                String 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;
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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();
    }


    @Override
    public 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;
                	
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);
    }
    @Override
    public 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;
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);
    }


    @Override
    public 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("");
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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);

    }
    @Override
    public 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);
        }

    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public 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 relName
    java.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);


    }
}


银行系统中EBCDIC同GBK互转,Java的实现   银行系统中有的核心Core banking采用AS/400系统,而AS/400采用EBCDIC编码,所以渠道整合的时候就会涉及到转码的问题。避免冷僻字的问题, 采用GBK字符集   package com.ebcdic; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import jav... 阅读详情

相关推荐

基于SpringBoot的银行柜台业务管理系统+Vue[毕业设计]

课题主要采用JAVA开发语言、Spring Boot框架和MySQL数据库开发技术以及基于Eclipse的编辑器。系统主要包括通知信息、用户信息、银行信息、卡号账户、存款信息管理、取款信息、转账信息、贷款信息、贷款申请、贷款发放、账单信息、还款信息等功能,从而实现智能化的管理方式,提高工作效率。管理员的登陆界面包括管理员的账号、密码,其中就是已有的账号,还有需要注册的账号。只要管理员在账号上注册,注册信息就会被录入 MySQL数据库,有一个资料库,只要输入成功,就可以登陆,然后进入主页的管理。

Q_55318293的博客 1262

java银行账户管理系统(数据库)

银行账户管理系统: 功能要求: (1)账户的增、删、查、改、浏览; (2)存、贷、还 (3)各种类别的统计 (4)账户交易历史的浏览

ZQY的博客 8937

Java银行管理系统项目实战

Java是一种广泛应用于企业级开发的编程语言,以其”一次编写,到处运行”的理念而著称。在银行管理系统中,Java基础语法是构建应用程序的基石,包括数据类型、运算符、控制流语句、数组、方法和异常处理等。这些基础元素确保了程序的逻辑清晰和数据处理的准确性。MVC(Model-View-Controller)是一种软件设计模式,用于将业务逻辑、用户界面和数据管理分离。其核心思想是分层,将系统分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。模型(Model)

weixin_35754962的博客 1028

JavaWeb银行项目

1、这个是一个类似有支付宝一样的web项目。2、登录和注册,都是通过手机号来进行的。3、注册的新用户需要先进行开户操作,然后进行绑卡操作。4、在开户的时候回给你一个10数组成的账号。5、在初始绑卡的时候,会默认你的卡上有定期存款50000,活期存款有20000。6、提现和充值就是银行卡和账户之间的操作7、转账功能是两个银行卡之间的操作。8、贷款,你可以选择一次性还清,也可以选择分期还清。

起名好难呀! 903

unity中判断是否联网,判断网络状态的两种方式

unity中判断是否联网,判断网络状态的两种方式

wla2996gpy032的博客 1876

换频道——假想《道德经》与量子力学的一些联系

之前看到一位AI PM的前辈分享了自己对于PM境界的看法: 境界一,行事被放心。 境界二,独立主导产品线从0到1,做正确的事,并把事做正确。 境界三,一切以灵魂境界为基础,产品作为其理念的衍生。 对于我,3个月尝试于目标而无获,但塞翁失马焉知非福。自己已经具备境界一,虽然境界二尚未成熟,但境界三却有幸有所思考。 今天,往澳门的动车途中有感而发,为随笔。

1021

Java-银行项目

该项目用了三个包Customer,CustomerList,CustomerView。 Customer为实体对象,用来封装用户信息。相当于model。 CustomerList为Customer对象的管理模块,内部用数组管理Customer对象,并提供相应的添加,修改,删除和遍历方法,CustomerView调用。相当于controller。 CustomerView为主模块,负责菜单的显示和处理用户操作。相当于view。 CMUtility为工具类。将不同功能封装为方法,就是可以直接通过调...

m0_69270633的博客 3358

实战避坑:在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时,必须搞清的P2P DMA与IOMMU那些事

本文深入探讨在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时P2P DMA与IOMMU的关键问题,解析PCIe架构中的地址转换、P2P DMA与标准DMA的区别,以及IOMMU对性能的影响。通过实战案例和调优建议,帮助用户避免常见配置陷阱,提升AI训练集群的数据传输效率。

weixin_33720078的博客 444

JAVA面向对象编程经典小项目之银行账户及银行用户管理系统------JAVA

JAVA面向对象编程经典小项目之银行账户及银行用户管理系统------JAVA

在经历了无数个黑夜之后,我决定自己成为太阳 972

WS2812B非标准通信协议:手把手实现精准时序控制

详解WS2812B的精准时序实现原理,剖析其非标准通信协议的关键细节。通过实际操作指导,帮助开发者稳定驱动ws2812b灯带,解决常见时序偏差问题,提升项目显示效果与响应一致性。

weixin_42584586的博客 587

汽车级智能栅极驱动器深度解析 | 连载03:功能框图与工作模式详解

在前两期连载中,我们分析了DRV871x-Q1的产品架构、引脚配置和电气特性。本期我们将深入探讨DRV871x-Q1的功能框图和工作模式,这是理解芯片内部工作机制的关键。通过分析功能框图,我们能够清晰地了解各功能模块之间的关系和信号流向;通过工作模式分析,我们能够掌握芯片在不同应用场景下的配置方法。这些知识对于系统设计和故障排查都至关重要。

VehSwHwDeveloper的博客 1103

JAVA小项目-银行管理系统(图形化界面)5-用户信息读写

UserMessage这个类 应该是 我在做这个最难的一块东西了, 文件读写。 虽然细节并没有处理好。 用数据库写 应该简单一点。他分为4部分组成 1.将注册的信息格式化写入文本 2.读取信息,将用户名信息返回(如果不存在返回null),和Check类配合使用 3.在存款,取款和转账操作 时 更新金额 4.修改密码时更新密码先给出该类的框架、public class UserMessag

知足常乐的博客 1万+

【软考高级架构】论文范文12——论生成式AI在软件开发中的应用与挑战

随着生成式AI技术的跨越式发展,以大语言模型为代表的生成式AI正在深刻改变软件开发的传统模式。在代码生成、测试构造、文档编写等环节,生成式AI展现出显著的效率提升潜力,但其应用也面临着代码质量不可控、安全漏洞植入、版权合规等严峻挑战。本文以笔者主导的某大型金融企业智能研发辅助平台建设项目为案例,围绕生成式AI在软件开发中的应用实践与应对挑战的策略展开论述。笔者担任系统架构师,负责平台架构设计、模型选型、质量保障机制及安全防线构建。

qq837993702的博客 276

【亲测免费】 银行管理系统开源项目推荐

银行管理系统开源项目推荐 1. 项目基础介绍及主要编程语言 本项目是一个开源的银行管理系统,旨在处理银行业务的基本操作。它使用Java编程语言开发,Java以其稳定性和跨平台特性在金融行业中被广泛采用。项目的目标是提供一个易于使用、功能全面的银行管理软件,同时鼓励社区参与和贡献,以不断优化和完善系统。 2. 项目核心功能 银行管理系统具备以下核心功能: 客户存款与取款:允许客户在系统中进行存款和...

gitblog_00484的博客 952

搭建一个简单的 Django + Vue 项目

在本文中,我将为您详细介绍如何搭建一个简单的 Django + Vue 项目。Django 是一个使用 Python 编写的高级 Web 框架,而 Vue 是一个流行的 JavaScript 框架,用于构建用户界面。通过结合 Django 和 Vue,我们可以创建强大的全栈 Web 应用程序。创建 Django 项目设置 Django 后端创建 Vue 前端连接 Django 和 Vue让我们开始吧!

JfpBlockchain的博客 352

在 Android Studio 中接入 DeepSeek:加速 Android 开发进程

通过在 Android Studio 中接入 DeepSeek,Android 开发者能够充分利用人工智能技术带来的强大优势,显著提升开发效率和代码质量。从前期的安装准备,到具体的接入步骤,再到使用过程中的技巧和注意事项,每一个环节都为打造高效、智能的开发环境提供了有力支持。希望本文能帮助你顺利将 DeepSeek 融入到 Android Studio 的开发工作流程中,让你在 Android 开发的道路上更加得心应手,创造出更优质的 Android 应用。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4175

JAVA小项目-银行管理系统

JAVA小项目-银行管理系统 去发现同类优质开源项目:https://gitcode.com/ 项目简介 此项目是一个使用Java语言编写的银行管理系统小项目。它包含了图形用户界面,以及文件读写功能,旨在帮助学习和理解银行系统的基本操作逻辑与界面设计。 功能特点 图形界面:项目提供了友好的图形用户界面,便于用户操作与交互。 文件读写:系统利用文件读写功能来存储和管理用户数据,保证了数据在程序关闭...

gitblog_06726的博客 432

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[毕设源码 java毕业设计项目]基于java银行储蓄管理系统

【毕设源码推荐 javaweb 项目毕业设计源码】基于java银行储蓄管理系统是基于java编程语言,mysql数据库,idea软件开发,本系统主要是用户角色,用户可以注册账号,登录系统,查看系统余额,在线存钱,在线取钱,在线转账,在线挂失,在线注销;本系统适合作为java毕业设计和java课程设计源码下载进行参考学习。(java毕业设计源码)基于java银行储蓄管理系统。

jicoding10的博客 315

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java实验项目用户转账_转账类.java · acrowise/银行账户资金管理系统 - Gitee.com

//6.转账类import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import keshe.Lianjie;import test.quzhi;public class Transfer{private Connection dbConn = Lianjie.getSQL...

weixin_34223525的博客 292

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java银行管理系统(源码+开题)

研究内容将围绕银行管理系统的核心功能展开,包括用户管理、柜员操作界面设计、账户信息查询与维护、存款与取款业务处理、转账交易记录、贷款项目管理及申请受理、理财产品的分类与展示、线上线下理财业务处理等。同时,系统将注重数据安全和隐私保护,采用先进的加密技术和访问控制机制,确保客户信息和交易数据的安全可靠。本研究旨在开发一个综合性的银行管理系统,以实现对用户、柜员、账户信息、存款信息、取款信息、转账信息、贷款项目、理财产品等全方位的管理。第 2 阶段:2022年7月可行性分析、需求分析、确定系统功能模块。

ajunbiyesj的博客 638

java银行管理系统(GUI+IO)

这里写自定义目录标题 项目需求描述 网银系统管理平台,主要分为两大需求模块: 一、 用户功能需求: 1、对于用户需求需实现:注册与登陆功能。 当用户成功注册于登录后需要展现并实现:首页 、个人信息显示、修改密码、充值、提现、转账等功能。 2、银行卡管理:又可以分为、查看银行卡、添加银行卡 二、管理用户: 对于管理用户只需展现用户信息即可: 所用到的技术: 面向对象基本元素(如类,对象,继承,重载等等),GUI可视化设计,IO流读写为文件,容器数组以及mvc分层思想。 设计过程 首先给项目分层(利用MVC)思

一生烟雨的博客 3660

银行用户管理毕业设计基于SpringBootSSM框架

功能模块,包括用户注册与登录、个人信息管理、账户查询与设置、交易处理(如转账、支付)、产品服务展示(如存款、理财、贷款)以及安全保障等。接着,我们设计了系统的整体架构,采用前后端分离的开发模式,前端使用响应式框架以提供优良的用户界面,后端则选用稳定高效的框架实现业务逻辑,并提供RESTful API接口。 本设计项目致力于开发一个基于JAVA语言与SSM(Spring、Spring MVC、MyBatis)框架的银行用户管理系统。该系统深度融合了JAVA的稳健性和SSM框架的高效性。

计算机程序开发设计 871

【原创】java+swing+mysql银行ATM管理系统

本系统为java+swing+mysql的银行ATM管理系统,管理员、用户系统功能如下: 管理员:用户管理;账单管理;修改密码;退出;用户:存款;取款;转账;余额查询;我的账单;修改个人资料;修改密码;退出;

计算机软件编程,包含Java、Php、Python、前后端、数据库等实战项目 2296

java计算机毕业设计银行基本业务管理系统(开题+程序+论文)

通过本系统的实施,旨在提升银行运营效率,增强客户体验,为银行提供强有力的技术支持与决策依据。该系统旨在通过集成用户管理、储蓄与信用卡账户操作、资金流转、业务办理及风险管理等功能,实现银行业务流程的自动化与智能化,提升服务效率与客户体验,同时降低运营成本与风险。本研究的意义在于,首先,通过优化银行基本业务管理流程,能够显著提升银行服务效率,缩短客户等待时间,增强客户满意度与忠诚度。此外,数字化管理系统的应用还能促进银行内部资源的优化配置,提高决策效率与准确性,为银行在激烈的市场竞争中赢得先机。

新时科技 1223

Java银行财务管理系统(源码+开题)

通过系统自动化和智能化的处理,能够减少人为错误和延误,确保财务数据的准确性和及时性。其次,该系统能够帮助银行更好地进行风险管理和监控,为决策者提供有力的数据支持,从而做出更加科学、合理的决策。通过本研究的实施,预期能够为银行提供一个高效、智能的财务管理工具,提升银行的财务管理水平,增强其市场竞争力。2022年9月至10月:需求分析和规划,进行用户需求调研和分析,确定系统功能和目标。2023年4月至5月:文档编写和培训,编写用户手册和系统文档,并进行相关人员的培训。操作系统:win7以上,最好是win10。

ajunbiyesj的博客 1062

(java毕业设计源码)基于java银行储蓄管理系统

项目获取请看文章最底下官网银行储蓄管理系统是基于java编程语言,mysql数据库,idea软件开发,本系统主要是用户角色,用户可以注册账号,登录系统,查看系统余额,在线存钱,在线取钱,在线转账,在线挂失,在线注销;本系统适合作为java毕业设计和java课程设计源码下载进行参考学习。

qq_28059693的博客 570
上一篇: Unicode,UTF-8和GBK编码方式,你真的搞懂了吗?
下一篇: Python的文件操作
汤米先生
博客等级 码龄6年 5345粉丝 283原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤米先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值