银行管理系统(控制台版),数据库用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
相关文章推荐
- Java连接Oracle数据库开发银行管理系统【三、实现篇】
- 基于数据库MySQL的简易学生信息管理系统
- Java连接Oracle数据库开发银行管理系统【一、需求篇】
- MySQL - 5. 数据库管理 - 5.3. mysqld:MySQL服务器 - 5.3.3. 服务器系统变量 - max_allowed_packet
- Java连接Oracle数据库开发银行管理系统【二、设计篇】
- 【DOS界面下的小优化】C++实现TCP协议下的CS架构的图书馆书籍管理系统(数据库mysql)
- QT+MYSQL 银行管理系统界面展示
- 理解MySQL字段约束的概念、基本使用。企业新闻管理系统数据库建设
- 《MySQL入门很简单》学习笔记(22)之第22章驾校学员管理系统(关键词:数据库/MySQL)
- 用c语言写以mysql为数据库的信息管理系统
- 数据库课程设计银行管理系统(SQL Server)
- 用户管理系统控制台版连接数据库
- JDBC应用、控制台连MySQL接数据库实现学生管理系统的登录注册、增删改查
- 备份海娜韵会员管理系统数据库数据 (mysql/全量备份)
- 基于java+mysql学生管理系统的实现
- 通用权限管理系统组件 (GPM - General Permissions Manager) 中灵活经典的.NET2.0数据库访问组件,附源码
- mysql导出数据库方法总结(命令行+navicat for mysql 管理工具)
- 简单的数据库课程设计----湖工大成绩管理系统
- 数据库课程设计_实验室管理系统_设备入库
- SQLite数据库管理系统-我所认识的数据库引擎