已知:
现有账户表account,创建的SQL语句如下。
create table account(
id int PRIMARY KEY auto_increment,
name varchar(20) not null,
money double not null);
基本要求:
(1)利用面向对象方式实现功能;
(2)利用三层架构实现;
(3)应用事务处理。
功能要求:
(1)开户——增加记录
增加3个账户,姓名分别为:张三、李四、王五,账户初始金额:0元;
开户成功,显示所有账户信息。
(2)销户——删除记录
对姓名为"王五"的账户给予销户。成功操作后,显示所有账户信息。
(3)存钱——修改记录
张三、李四账户分别存入2000元。成功操作后,显示所有账户信息。
(4)取钱——修改记录
张三账户取出1000元,显示张三账户信息。
(5)转账——修改记录
李四给张三转账500元,显示张三和李四账户信息。
(6)查询所有账户信息。
提交说明:粘贴JAVA程序代码。
评价标准:
(1)类的层次设计合理,程序三层架构搭建合理,10分;
(2)开户与销户功能实现,10分;
(3)存钱与取钱功能实现,10分。
(4)应用事务实现转账功能实现,20分。
用户交互层
Main
package cn.sdut.amain;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import cn.sdut.biz.BankBiz;
import cn.sdut.entity.Account;
//用户交互层
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
BankBiz biz=new BankBiz();
double money;
String name;
int id,choose;
boolean exit = false;
System.out.println("请选择需要的选项\n(请输入相应数字)");
System.out.println("\n\t*********************************");
System.out.println("\t*\t\t\t\t*");
System.out.println("\t*\t 1 - 开户\t\t*");
System.out.println("\t*\t 2 - 销户\t\t*");
System.out.println("\t*\t 3 - 存钱\t\t*");
System.out.println("\t*\t 4 - 取钱\t\t*");
System.out.println("\t*\t 5 - 转账\t\t*");
System.out.println("\t*\t 6 - 显示所有信息\t*");
System.out.println("\t*\t 7 - 退出\t\t*");
System.out.println("\t*\t\t\t\t*");
System.out.println("\t*********************************\n\n");
while(input.hasNext())
{
choose = input.nextInt();
try {
switch(choose) {
case 1:{
System.out.println("请输入户主姓名和初始金额");
name = input.next();
money = input.nextDouble();
boolean flag = biz.openAccount(name, money);
if(flag)
System.out.println("开户成功");
List<Account> selectAll = biz.selectAll();
for(Account acc:selectAll) {
System.out.println(acc);
}
break;
}
case 2:{
System.out.println("请输入需要销户的账号");
id = input.nextInt();
boolean flag = biz.distoryAccount(id);
if(flag)
System.out.println("销户成功");
List<Account> selectAll = biz.selectAll();
for(Account acc:selectAll) {
System.out.println(acc);
}
break