您的位置:首页 > 数据库 > MySQL

银行管理系统(控制台版),数据库用mysql

2017-08-26 14:22 417 查看

AdminServie.java

package service;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import view.TestBank;
import BankUtil.DbUtil;
import domain.Admin;
import domain.Customer;

public class AdminService {
private static DbUtil db;
private static Admin ad;
private static Customer cu;
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
private static AdminService as = new AdminService();

public static void login() throws Exception {
Scanner input = new Scanner(System.in);
db = new DbUtil();
boolean flag = false;
conn = db.getConnection();
System.out.println("请输入用户名:");
String name = input.next();
ad.setAdminName(name);
System.err.println("请输入密码");
String pwd = input.next();
ad.setAdminPwd(pwd);
String sql = "select * from admin";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
if ((ad.getAdminName().equals(rs.getString(3)))
&& ad.getAdminPwd().equals(rs.getString(2))) {
System.out.println("登录成功!");
flag = true;
break;
}
}
if (!flag) {
System.out.println("用户名/密码错误");
} else {
// System.out.println("登录成功");
as.menu();
}

}

public static void menu() throws Exception {
System.out.println("银行系统:[管理员]");
System.out
.println("1、添加顾客 2、计算储蓄总额 3、富豪排行榜 4、退出");
System.out.println("请选择:");
Scanner menuInput = new Scanner(System.in);
int num = menuInput.nextInt();
switch (num) {
case 1:
System.out.println("当前---->管理员---->添加顾客");
addCust();
break;
case 2:
System.out.println("当前---->管理员---->计算储蓄总额");
countMoney();
break;
case 3:
System.out.println("当前---->管理员---->富豪排行榜");
order();
break;
case 4:
System.out.println("当前---->管理员---->退出");
exit();
break;

default:
break;
}
}

public static void addCust() throws Exception {
System.out.println();
Scanner addInput = new Scanner(System.in);
System.out.print("请输入顾客银行卡号:");
String custNum = addInput.next();
cu.setCustNum(custNum);
System.out.println("请输入顾客姓名:");
String custName = addInput.next();
cu.setCustName(custName);
System.out.println("请输入顾客身份证:");
String custIdCard = addInput.next();
cu.setCustIdCard(custIdCard);
System.out.println("请输入顾客开户金额:");
float custMoney = addInput.nextFloat();
cu.setCustMoney(custMoney);
System.out.println("请输入初密码");
String custPwd = addInput.next();
cu.setCustPwd(custPwd);
conn = db.getConnection();
stmt = conn.createStatement();
String sql = "insert into customer(custNum,custName,custPwd,custIDCard,custmoney,custDate) values('"
+ custNum
+ "','"
+ custName
+ "','"
+ custPwd
+ "','"
+ custIdCard + "'," + custMoney + ",curdate())";
System.out.println(sql);
int i = stmt.executeUpdate(sql);
if (i == 1) {
System.out.println("添加成功");
System.out.println("1、退出添加菜单\t2、退出系统");
int ch = addInput.nextInt();
switch (ch) {
case 1:
menu();
break;
case 0:
exit();
break;
default:
menu();
break;
}
} else {
System.out.println("添加失败");
menu();
}
}

public static void countMoney() throws Exception {

Scanner countInput = new Scanner(System.in);
conn = db.getConnection();
stmt = conn.createStatement();
float money = 0;
String sql = "select sum(custMoney) from customer";
rs = stmt.executeQuery(sql);
if (rs.next()) {
money = rs.getFloat(1);
}
System.out.println("当前存款总额为:" + money);
back();

}

public static void order() throws Exception {
conn = db.getConnection();
stmt = conn.createStatement();
String sql = "select * from customer order by custMoney desc";
rs = stmt.executeQuery(sql);
System.out.println("银行卡号\t用户名\t用户密码\t身份证号\t存款余额");
while (rs.next()) {
String cardNumber = rs.getString(1);
String userName = rs.getString(2);
String userPwd = rs.getString(3);
String idCard = rs.getString(4);
float money = rs.getFloat(5);
System.out.println(cardNumber + "\t" + userName + "\t" + userPwd
+ "\t" + idCard + "\t" + money);

}
back();

}

public static void exit() {
System.exit(0);

}

public static void back() throws Exception {
TestBank tb = new TestBank();
Scanner sc = new Scanner(System.in);
System.out.println("1、返回登录主菜单\t2、返回管理员主菜单\t3、退出系统\t");
int in = sc.nextInt();
switch (in) {
case 1:
tb.init();
break;
case 2:
menu();
break;
case 3:
exit();
break;
default:

break;
}

}
}

CustService.java

package service;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import view.TestBank;
import BankUtil.DbUtil;
import domain.Admin;
import domain.Customer;

public class CustService {
private static DbUtil db;
private static Admin ad;
private static Connection conn;
private static Statement stmt;
private static PreparedStatement ps;
private static ResultSet rs;
private static TestBank tb;
static String name;
static String pwd;

public static void menu() throws Exception {
System.out.println("银行系统[顾客],请选择:");
System.out.println("1、存款\t2、取款\t3、查询余额\t4、转账\t5、修改密码\t6、退出");
Scanner scMenu = new Scanner(System.in);
int ch = scMenu.nextInt();
switch (ch) {
case 1:
System.out.println("当前页面---->顾客----->存款");
save();
back();
break;
case 2:
System.out.println("当前页面---->顾客----->取款");
take();
back();
break;
case 3:
System.out.println("当前页面---->顾客----->查询余额");
query();
back();
break;
case 4:
System.out.println("当前页面---->顾客----->转账");
trans();
back();
break;

case 5:
alter();
back();
System.out.println("当前页面---->顾客----->修改密码");
break;
case 6:
exit();
System.out.println("当前页面---->顾客----->退出");
break;
default:
break;
}

}

public static void save() throws Exception {
conn = db.getConnection();
stmt = conn.createStatement();
Scanner scSave = new Scanner(System.in);
System.out.println("输入存款余额:");
float money = scSave.nextFloat();
String sql = "update customer set custMoney=custMoney+" + money
+ " where custname='" + name + "'";
int re = stmt.executeUpdate(sql);
if (re == 1) {
System.out.println("存款成功");
} else {
System.out.println("存款失败");
}

}

public static void take() throws Exception {
conn = db.getConnection();
stmt = conn.createStatement();
Scanner scTake = new Scanner(System.in);
System.out.println("输出取款余额:");
float money = scTake.nextFloat();
String sql = "update customer set custmonry=customer-" + money
+ " where custname=name";
int re = stmt.executeUpdate(sql);
String sql2 = "select custmoney from customer where custname='" + name
+ "'";

rs = stmt.executeQuery(sql2);
if (re == 1) {
while (rs.next()) {
System.out.println("取款成功!所剩余额:" + rs.getFloat(1));

}

} else {
System.out.println("余额不足!");
}

}

public static void query() throws SQLException {
conn = db.getConnection();
stmt = conn.createStatement();
Scanner scQuery = new Scanner(System.in);
String sql = "select custmoney from customer where custname='" + name
+ "'";
rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println("所剩余额为:" + rs.getFloat(1));}

}

public static void trans() throws SQLException {
conn = db.getConnection();
stmt = conn.createStatement();
Scanner scTrans = new Scanner(System.in);
System.out.println("请输入对方账户:");
String na = scTrans.next();
System.out.println("请输入转账金额:");
float fl = scTrans.nextFloat();
String sql = "update customer set custmoney=custmoney+" + fl
+ " where custname='" + na + "'";
int i = stmt.executeUpdate(sql);
if (i == 1) {
System.out.println("转账成功");
} else {
System.out.println("转账失败");
}
}

public static void alter() throws Exception {
conn = db.getConnection();
stmt = conn.createStatement();
Scanner scAlter = new Scanner(System.in);
System.out.println("请输入修改的密码:");

c4af
String mima = scAlter.next();
String sql = "update customer set custpwd='" + mima
+ "' where custname='" + name + "'";
int n = stmt.executeUpdate(sql);
if (n == 1) {
System.out.println("密码修改成功!");
System.out.println("请牢记您的密码:" + mima);
} else {
System.out.println("密码修改失败!");
}

}

public static void exit() throws Exception {
TestBank tb = new TestBank();
tb.init();

}

public static void login() throws Exception {
Customer cust = new Customer();
Scanner scLogin = new Scanner(System.in);
System.out.println("请输入用户名:");
name = scLogin.next();
cust.setCustName(name);
System.out.println("请输入密码:");
pwd = scLogin.next();
cust.setCustPwd(pwd);
conn = db.getConnection();

String sql = "select * from customer";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
if ((name.equals(rs.getString(2))) && (pwd.equals(rs.getString(3)))) {
System.out.println("登录成功!");
menu();

} else {
System.out.println("用户名/密码错误!");
tb.init();
}
}
}

public static void back() throws Exception {
TestBank tb = new TestBank();
Scanner sc = new Scanner(System.in);
System.out.println("1、返回登录主菜单\t2、返回顾客主菜单\t3、退出系统\t");
int in = sc.nextInt();
switch (in) {
case 1:
tb.init();
break;
case 2:
menu();
break;
case 3:
exit();
break;
default:
menu();
break;
}

}
}

dbUtil.java

package BankUtil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class DbUtil {
private static String driverClass;
private static String url;
private static String username;
private static String password;
// 加载数据库配置文件
static {
ResourceBundle rb = ResourceBundle.getBundle("dbinfo");
// 得到数据库信息
driverClass = rb.getString("driverClass");
url = rb.getString("url");
username = rb.getString("username");
password = rb.getString("password");
try {
// 加载驱动
Class.forName(driverClass);
} catch (Exception e) {
e.printStackTrace();
}
}

// 获取链接
public static Connection getConnection() throws SQLException {

return DriverManager.getConnection(url, username, password);

}

// 释放链接
public static void release(Connection conn, Statement sta, ResultSet rs)
throws SQLException {
rs.close();
sta.close();
conn.close();
}

}

db.properties

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐