JDBC银行案例(实现ATM机开户、存款、取款、转账、修改密码、注销对数据库的操作)

该博客详细介绍了如何使用JDBC来实现ATM机的各项功能,包括创建数据库account和表t_account,然后通过AccountSystem类实现开户、存款、取款、转账、修改密码以及查看余额和注销账户等功能。操作涉及对数据库的增删改查操作,使用PreparedStatement确保安全性。
摘要由CSDN通过智能技术生成

数据库要求:

创建数据库、表
创建数据库 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 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值