数据库小项目——叮叮移动业务大厅(三层架构+MySQL数据库)

源码已上传至资源

该项目主要使用技术为MySQL数据库,其中也包含了一些对于文件的写入和读取操作。项目结构采用三层架构,后端的业务逻辑清晰明了。

1.项目结构

项目采用控制台版,前端业务在java包下,每个业务单独成块。若想要GUI界面化,可在java包下扩展

项目结构采用三层架构模式

如下:

  • lib包负责jar包的导入
  • java包负责前端的业务逻辑
  • controller层负责数据的控制响应
  • service层负责数据的业务逻辑处理
  • dao层负责对数据库的访问
  • pojo包负责实体类
  • util包负责工具类
  • test包负责测试类

cd5a2019a2654c28a1db8767431e05d5.png 

2.项目业务说明

叮叮移动业务大厅主要有6大业务:登录、注册、使用叮叮、话费充值、资产说明、退出系统等,其中使用叮叮又分5大业务:本月账单查询、套餐余量查询、打印消费账单、套餐变更、办理退网等

首先只有登录成功后才可进入使用叮叮,话费充值功能

f536ff9f75754da6bf449bfcad1bb0be.jpg

 如果是第一次使用我们的叮叮,则需要输入"2"进行用户注册,输入信息注册成功后会在user₋bill包下生成一个文件.txt,用于账单记录

4e1e46e568ab46d69b03427dda648524.jpg

2cbe76a0af2b4cadb1cb01d548083a2d.jpg 

即使用户没有注册登录,在我们的业务大厅界面也可以输入"5"来查询到我们的套餐类型,我们的套餐类型一共分为四种,分别是"话痨套餐"、"网虫套餐"、"超人套餐"、"超出套餐计费",用户可以根据自己的需求来选择适合自己的套餐

86bf056ae0954392846ef375c012514f.jpg 

当用户需要话费充值时,可以在业务大厅输入"4"进行花费充值,在充值完毕后,会显示当前话费的余额,并将其记录到账单文件中

325ea5d37a694b9c8233e610023e677a.jpg

 54897c926fd447edb56af40a585fd5b0.jpg

 

当然用户想要进行更多的消费操作,可以在登录完成后,输入"3"转到"使用叮叮"服务

输入"1"可以查看本月的充值账单

8a2892a9bd4e47b8b0dea5f027c93f88.jpg

 输入"2"可以查询本月的套餐余量

d91dff60e16a47bdab924664f13bf506.jpg

 输入"3"可以查看到账单的具体详情

70a40777b03c4f85b801c1b606d7709d.jpg

 输入"4"可以进行套餐变更

7c3a34bbf60d465faeb0ac28037a39fb.jpg

 输入"5"可以办理退网,退网之后该用户被删除

cd196697ea52412ea43a6f00f23fe28e.jpg

 007ba55130254871a436aa54a0266afc.jpg 

3.部分代码演示

这次展示的是登录业务的代码

首先前端传来数据给controller层

8792ceedd8594eb380e09ed28af3b573.png

 controller层接受数据传递给service层,最后再用Result统一响应结果给前端

ccc2769657af4395a2f90bed481c7d86.png

9958e3ab3bb742dc860b70fe566f199f.png 

 service层接受controller层传递的数据,并对数据进行处理,将符合的数据传递给dao层

0f570af75da54a8d815ad85aa4ef0ce8.png

 dao层接受数据并访问数据库,将访问的结果再响应给service层,service层再响应给controller层

a51082fc49db46caa140b190fed23448.png

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day05-Grafana的基本应用与配置

Day05-Grafana的基本应用与配置 1. Grafana概述2. Grafana实战2.1 环境准备2.2 使用流程1)部署grafana 9.3.62)web页面访问3)配置zbx插件4)配置grafana的数据源5)web: Grafana web页面添加与配置图形dashboard,仪表盘6…

linux命令中arj使用

arj 用于创建和管理.arj压缩包 补充说明 arj命令 是 .arj 格式的压缩文件的管理器,用于创建和管理 .arj 压缩包。 语法 arj(参数)参数 操作指令:对 .arj 压缩包执行的操作指令;压缩包名称:指定要操作的arj压缩包名称。 更多…

【投稿资讯】区块链会议CCF A -- SP 2025 截止6.6、11.14 附录用率

会议名称:46th IEEE Symposium on Security and Privacy( S&P) CCF等级:CCF A类学术会议 类别:网络与信息安全 录用率:2023年 195/1147,2024年录用了17篇和区块链相关的论文 Topics of interest inc…

C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树

题目: 题解: struct TreeNode* helper(int* nums, int left, int right) {if (left > right) {return NULL;}// 选择任意一个中间位置数字作为根节点int mid (left right rand() % 2) / 2;struct TreeNode* root (struct TreeNode*)malloc(sizeo…

uview1.0 u-form表单回显校验不通过

提交到后端的数据,回显后不做任何修改无法通过表单校验 原因,u-form表单校验的类型默认为string,但是后端返回的是integer类型,导致无法通过校验 解决,既然后端返回的是整数形,那么我们就将校验规则的type…

[机缘参悟-185] - 《道家-水木然人间清醒1》读书笔记 - 真相本质 -8- 认知觉醒 - 逻辑谬误、认知偏差:幸存者偏差

目录 前言: 一、幸存者偏差 二、幸存者偏差在现实中的应用 第一个故事: 第二个故事: 三、生活中的幸存者偏差 四、迷恋成功者经验的原因:鸡汤、幻想、传奇、希望 备注: 前言: 幸存者偏差&#xff0…

Backend - 数据分析 matplotlib

目录 一、作用 二、安装环境 (一)虚拟环境终端 (二)代码导入库 (三)设置中文 1. 使用window自带(推荐) 2. 下载字体 三、应用 (一)基础知识 1. plt…

Spring Cloud Alibaba-07-RocketMQ消息驱动

Lison <dreamlison163.com>, v1.0.0, 2024.4.20 Spring Cloud Alibaba-07-RocketMQ消息驱动 文章目录 Spring Cloud Alibaba-07-RocketMQ消息驱动MQ简介MQ的应用场景常见的MQ产品RocketeMQ的架构及概念 RocketMQ入门RocketMQ环境搭建 SpringBoot 集成 RocketMQ MQ简介 …

汐鹤Key码查询,网站授权系统源码

汐鹤Key码查询和网站授权系统源码主要用于特殊虚拟物品销售商家。 下 载 地 址 &#xff1a; runruncode.com/php/19770.html 附带插件功能&#xff08;网站授权&#xff09;&#xff0c;但目前开发内容较少&#xff0c;请谅解&#xff01;同时&#xff0c;代码优化空间很大…

【论文极速读】 LLava: 指令跟随的多模态大语言模型

【论文极速读】 LLava: 指令跟随的多模态大语言模型 FesianXu 20240331 at Tencent WeChat Search Team 前言 如何将已预训练好的大规模语言模型&#xff08;LLM&#xff09;和多模态模型&#xff08;如CLIP&#xff09;进行融合&#xff0c;形成一个多模态大语言模型&#xf…

Ubuntu环境|FileNotFoundError: [Errno 2] No such file or directory: ‘soundstretch‘

一 问题描述 二 问题解决 使用ubuntu命令安装soundstretch&#xff08;How To Install soundstretch on Ubuntu 20.04 | Installati.one&#xff09; sudo apt -y install soundstretch 安装完成&#xff0c;问题解决。

yolov8实战第九天——pyqt5-yolov8实现道路病害识别系统(参考论文(6000+字)+环境配置+完整部署代码+代码使用说明+训练好的模型+数据集)

基于 pyqt5-yolov8实现道路病害识别系统,包括图片、批量图片、视频、视频流的道路病害识别。包括病害历史记录栏显示,训练好的模型和数据集,可直接进行工程应用和论文书写。 效果展示(图片检测,检测到的内容添加到历史记录): 效果展示(批量图片检测,检测到的内容添加…

pod install 报错 ‘SDK does not contain ‘libarclite‘ at the path...‘

报错内容&#xff1a; SDK does not contain ‘libarclite’ at the path ‘/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a’; 这是报错已经很明确告诉我们&#xff0c;Xcode默认的工具链中缺少一个工具…

Android-自定义三角形评分控件

效果图 序言 在移动应用开发中&#xff0c;显示数据的方式多种多样&#xff0c;直观的图形展示常常能带给用户更好的体验。本文将介绍如何使用Flutter创建一个自定义三角形纬度评分控件&#xff0c;该控件可以通过动画展示评分的变化&#xff0c;让应用界面更加生动。 实现思…

前端项目使用docker编译发版和gitlab-cicd发版方式

项目目录 app/ ├── container/ │ ├── init.sh │ ├── nginx.conf.template ├── src/ ├── .gitlab-ci.yml └── deploy.sh └── Dockerfile └── Makefilecontainer目录是放nginx的配置文件&#xff0c;给nginx镜像使用 .gitlab-ci.yml和Makefile是c…

【工具使用】搜狗输入法如何输入希腊字母等特殊字符

步骤&#xff1a; 1&#xff0c;点击悬浮框的输入方式&#xff0c;选择“符号大全”&#xff1a; 2&#xff0c;根据自己需要选择对应的符号即可&#xff1a;

QT7_视频知识点笔记_4_文件操作,Socket通信:TCP/UDP

1.事件分发器&#xff0c;事件过滤器&#xff08;重要程度&#xff1a;一般&#xff09; event函数 2.文件操作&#xff08;QFile&#xff09; 实现功能&#xff1a;点击按钮&#xff0c;弹出对话框&#xff0c;并且用文件类读取出内容输出显示在控件上。 #include <QFi…

第八课,分支语句嵌套、随机数函数、初识while循环

一&#xff0c;分支结构的嵌套语法 在 Python 中&#xff0c;分支结构可以嵌套&#xff0c;这意味着你可以在一个条件语句中包含另一个条件语句。嵌套的分支结构可以让你更灵活地控制程序的逻辑流程。 怎么理解呢&#xff1f;打个比方&#xff1a;放学后&#xff0c;请三年级…

深度学习之基于Tensorflow卷积神经网络(CNN)实现猫狗识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 在人工智能和深度学习的热潮中&#xff0c;图像识别是一个备受关注的领域。猫狗识别作为图像识…

AcWing 217:绿豆蛙的归宿 ← 搜索算法

【题目来源】https://www.acwing.com/problem/content/219/【题目描述】 给出一个有向无环的连通图&#xff0c;起点为 1&#xff0c;终点为 N&#xff0c;每条边都有一个长度。 数据保证从起点出发能够到达图中所有的点&#xff0c;图中所有的点也都能够到达终点。 绿豆蛙从起…