【Java大数据期末】银行管理系统(MySQL数据库)

诚接C语言、C++、Java、Python、HTML、JavaScript、vue、MySQL相关编程作业,
标价10-20每份,如有需要请加文章最下方QQ。

本文资源:https://download.csdn.net/download/weixin_47040861/88850902icon-default.png?t=N7T8https://download.csdn.net/download/weixin_47040861/88850902


1.题目要求

银行管理系统:

通过Java控制台开发一个银行管理系统,使用MySQL作为后台数据,实现银行管理员工功能和顾客功能。具体要求如下:

(1)管理员功能:登录、添加顾客、删除顾客、计算存储金额、富豪排行榜、退出。

(2)顾客功能:登录、存款、取款、转账、修改密码、退出。

2.实现效果

注意:使用前请保证您电脑中的MySQL数据库能够正常使用,且eclipse已经安装了JDBC

该项目分为三个Java文件,其中Main.java文件为项目入口,Administrators.java文件和Customer.java文件分别存储了管理员与顾客对应的功能函数

1.主函数

首先在Main.java文件中定义了一些基本信息,包括MySQL的用户名和密码,使用该项目文件前请先将项目中的用户名和密码修改为您自己的。

启动项目后,该项目首先会验证是否存在名称为“bank”的数据库,若不存在则创建,同时创建administrators和customer表用于存储管理员和用户数据,若存在则建立连接,需要注意的是,数据库和表的创建都是由项目自动完成的,请勿手动创建以避免冲突

        try {System.out.println("连接到数据库...");in.conn = DriverManager.getConnection(DB_URL, USER, PASS);// 检查是否存在名为 'bank' 的数据库createDatabase(in.conn, "bank");// 切换到 'Bank' 数据库in.conn.setCatalog("bank");// 检查 'Administrators' 表是否存在if (!tableExists(in.conn, "administrators")) {createAdministratorsTable(in.conn);}//清空管理员数据String deleteQuery = "DELETE FROM " + "administrators";try (Statement statement = in.conn.createStatement()) {statement.executeUpdate(deleteQuery);}insertAdminData(in.conn, "root", "123456");//添加一条管理员数据// 检查 'Customer' 表是否存在if (!tableExists(in.conn, "customer")) {createCustomerTable(in.conn);}} catch (SQLException se) {se.printStackTrace();} catch (Exception e) {e.printStackTrace();}

创建完成后打印操作界面,根据用户输入的操作编号调用对应的功能:

2.管理员功能

用户输入操作编号后输入对应的账号和密码即可进入对应的操作界面,这里先以管理员操作界面做演示:

1.添加顾客

依次输入顾客身份证号、账号、密码、余额,若输入格式正确则成功添加顾客账户

添加后的数据库表:

2.删除顾客

输入账号和身份证号删除对应顾客数据

删除后的数据库表:

3.计算存储金额

输入操作编号后输出当前顾客的总余额

4.富豪排行榜

输入操作编号后对所有用户的余额进行降序排序后输出

3.顾客功能

输入管理员添加的账户后进入操作界面:

1.存款

根据用户输入的存款金额增加对应的余额,同时打印顾客余额:

修改后的数据库:

2.取款

根据用户输入的存款金额减少对应的余额,同时打印顾客余额:

3.转账

根据顾客输入的对应账号和转账金额修改数据,从顾客账户中减少对应金额,同时给另一个账号增加对应金额:

修改后的数据库:

4.修改密码

用户首先输入原密码和新密码,当原密码与数据库中的密码匹配时则修改为新密码:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成阿里云OSS、华为云OBS、七牛云、又拍云等上传案例【附白嫖方案】【附源码】

1. 项目背景 唉!本文写起来都是泪点。不是刻意写的本文,主要是对日常用到的文件上传做了一个汇总总结,同时希望可以给用到的小伙伴带来一点帮助吧。 上传本地,这个就不水了,基本做技术的都用到过吧; 阿里…

osqp-eigen学习

OSQP文档学习 参考博客: (1)二次规划(QP)与OSQP求解器 (2)如何使用OSQP-Eigen osqp-eigen 1 osqp-eigen接口 以下列问题的求解为例: s.t. 1 ≤ x 1 ≤ 1.5 1≤x_1≤1.5 1≤x1​≤…

毕业设计:基于知识图谱的《红楼梦》人物关系可视化

文章目录 项目介绍部署步骤项目运行 项目介绍 github地址:https://github.com/chizhu/KGQA_HLM?tabreadme-ov-file 基于知识图谱的《红楼梦》人物关系可视化:应该是重庆邮电大学林智敏同学的毕业设计,在学习知识图谱的过程中参考使用。 文…

【开源软件的影响力有多大?】

开源软件的影响力有多大 开源软件的影响力 开源软件的影响力 开源软件对现代技术和发展有着巨大的影响,开源软件指的是那些发布时附带源代码的软件,它们通常允许用户自由地使用、研究、修改和分享软件。以下是一些开源软件影响力的关键方面:…

专修戴尔R730xd服务器闪电灯 心跳亮黄灯故障

2024年开年第二天接到一个用户反馈说他公司有一台DELL PowerEdge R730xd服务器春节前由于市电问题意外断电关机了,刚好碰上春节就没去开机了,今天工厂开工服务器通电发现开不了机,且机器过了一会后报了2个黄灯错误,如下图&#xf…

MFC按钮不响应或无法执行断点

这种情况一般都是资源ID问题导致的,按钮不响应,重新检查资源ID就可以,不要有重复的. 断点无法执行,VS可能异常重新修复一下就可以了. MFC自带字符分割函数, CString str _T(“123-ssd-ddaw-sfsfsf-sfsfser-ffffff”); CString outStr; ::AfxExtractSubString(outStr,str,0,‘…

proton.me邮箱

https://proton.me/ 我开发的chatgpt网站: https://chat.xutongbao.top/

软件代码写作要点

代码写得好不好,完全在于规划的好不好,那么流程图就显得十分的重要. 虽然大神都不用写流程图,对于复杂的流程,事前规划好流程图是必不可少的秘密. 流程图可以清晰的显示逻辑关系,以及逻辑是否有漏洞,简单清晰的流程图可以把复杂问题简单化,更有助于检测错误缺陷,对于代码技能…

从零学算法202

202.编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1&#x…

重铸安卓荣光——上传图片组件

痛点: 公司打算做安卓软件,最近在研究安卓,打算先绘制样式 研究发现安卓并不像前端有那么多组件库,甚至有些基础的组件都需要自己实现,记录一下自己实现的组件 成品展示 一个上传图片的组件 可以选择拍照或者从相册中…

75.SpringMVC的拦截器和过滤器有什么区别?执行顺序?

75.SpringMVC的拦截器和过滤器有什么区别?执行顺序? 区别 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。拦截器只能对action请求(DispatcherServlet 映射的请求)起作用,而过滤器则可以对几乎所有的请求起作用。拦截器可…

【微服务安全】OpenID Connect 简介:现代应用程序的身份验证

OpenID Connect (OIDC) 是一个建立在 OAuth 2.0 之上的开放身份验证协议。它简化了应用程序以一种标准化和可互操作的方式验证用户身份并获取其基本个人资料信息的方式。可以将其视为应用程序“知道你是谁”的一种安全方式,而无需你创建单独的帐户或透露你的密码。 …

压缩感知——革新数据采集的科学魔法

引言: 在数字时代,数据以及数据的收集和处理无处不在。压缩感知(Compressed Sensing, CS)是一种新兴的数学框架,它挑战了我们传统上对数据采集和压缩的看法,给医学图像、天文观测、环境监测等领域带来了颠覆性的影响。但到底什么…

Java 爬虫 jvppeteer

开源地址&#xff1a;https://gitee.com/fanyong920/jvppeteer maven依赖&#xff1a; <!-- java爬虫 --><dependency><groupId>io.github.fanyong920</groupId><artifactId>jvppeteer</artifactId><version>1.1.3</version>…

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 二叉树简介二叉树分类解题方法制作不易&#xff0c;感谢三连&#xff0c;谢谢啦 二叉树简介 二叉树&#xff08;Binary Tree&#xff09;是一种特殊的树形…

AUTOSAR AP——IDSM 入侵检测管理

什么是入侵检测系统管理器? 入侵检测系统(IDS)是一种安全控制,它检测并处理安全事件。入侵检测系统管理器(IdsM)是自适应平台架构中的一个功能集群,负责处理由安全传感器(自适应应用程序)报告的安全事件。 作为一个功能集群,IdsM包括一个向应用程序提供C++ API的库…

uniapp 放大中间图标

方法1&#xff1a;使用css /*样式直接复制到项目的App.vue即可*/.uni-tabbar { /*.uni-tabbar__item:nth-last-child(3) 修改倒数第三个 也就是中间的图标 我这边底部栏是五个*/.uni-tabbar__item:nth-last-child(3) {.uni-tabbar__bd {/*.uni-tabbar__icon 去掉原图标大小&…

【Spring】循环依赖

目录标题 什么是循环依赖循环依赖场景Java SE 演示Spring 容器演示三级缓存核心知识三级缓存四大方法三级缓存中的迁移 三级缓存源码分析源码思维导图 源码图例课前问题推荐阅读 循环依赖是什么&#xff1f;循环依赖的场景有哪一些&#xff1f;三级缓存分别是什么&#xff1f;三…

openEuler学习——mysql(第一次总结)

1、openEuler 二进制方式安装MySQL 8.0.x。 思路是先从官网获取安装包链接如下https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 然后解压安装修改权限&#xff0c;可以参考mysql官方网站步骤 [rootopenEuler-node1 ~]# wget -c https:…

DS:循环队列的实现

创作不易&#xff0c;给个三连吧&#xff01;&#xff01; 一、前言 对于循环队列&#xff0c;博主也是源自于一道力扣的OJ题 力扣&#xff1a;循环队列的设置 后来我在网上查过&#xff0c;这个循环队列是有自己的应用场景的&#xff01;&#xff01;并不是出题者为了出题…