数据库要求:
创建数据库、表
创建数据库 account
- 创建一张表 t_ccount。有以下列
- cardId: 字符串,主键
- password: 字符串,非空
- username: 字符串,非空
- balance: 小数,非空
- phone: 字符串,非空
功能实现要求:
创建项目通过JDBC实现功能
创建AccountSystem类,完成下列功能
- 开户: 控制台输入所有的账户信息,使用PreparedStatement添加至t_account表
- 存款: 输入卡号、密码、存储金额进行修改
- 取款: 输入卡号、密码、取款金额
- 转账: 输入卡号、密码、对方卡号、转账金额进行修改
- 修改密码: 输入卡号、密码,再输入新密码进行修改
- 查看余额: 输入卡号、密码,查询余额
- 注销: 输入卡号、密码,删除对应的账户信息
数据库操作
#创建数据库
create database account character set utf8;
#使用account数据库
use account;
#创建表
create table t_account
(
card_id character(20) primary key,
password character(50) not null,
username character(20) not null,
balance double(10, 2) not null,
phone character(11) not null
) character set utf8;
功能实现
import java.util.Scanner;
/**
* 菜单
*/
public class TestAccount {
public static void main(String[] args) {
AccountSystem accountSystem = new AccountSystem();
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用中国银行ATM机");
int choice = 0;
do {
System.out.println("1.开户 2.存款 3.取款 4.转账 5.修改密码 6.查看账户余额 7.注销 0.退出");
System.out.print("请选择你的操作:");
choice = scanner.nextInt();
switch (choice) {
case 1:
accountSystem.register();
break;
case 2:
accountSystem.saveMoney();
break;
case 3:
accountSystem.takeMoney();
case 4:
accountSystem.transfers();
break;
case 5:
accountSystem.updatePassword();
break;
case 6:
accountSystem.getBalance();
break;
case 7:
accountSystem.logout();
break;
case 0:
accountSystem.closeConnection();
return;
default:
break;
}
} while (choice != 0);
}
}
import java.sql.*;
import java.util.Scanner;
/**
* 要求:
* <p>
* 开户:输入所有的账户信息,使用PreparedStatement添加至t_account表中
* 存款:输入卡号、密码、存储金额进行修改
* 取款:输入卡号、密码、取款金额
* 转账:输入卡号、密码、需要对其转账的卡号、转账金额进行修改
* 修改密码:输入卡号、密码,再输入新密码进行修改
* 查询余额:输入卡号、密码,查询出对应的卡内余额
* 注销:输入卡号、密码,删除对应的账户信息
*/
public class AccountSystem {
Scanner scanner = new Scanner(System.in);
private static Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
static {
//重复的操作,就出发一次加载即可!
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.连接数据库
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/account?useUnicode=true&characterEncoding=utf8", "root", "123456");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 关闭数据库连接对象Connection
* <p>
* 注意:在程序结束时关闭,如果过早关闭的话,将与数据库断开连接
* 所以我们放在退出ATM机系统时调用关闭
*/
public void closeConnection() {
if (connection