数据库小项目——叮叮移动业务大厅(三层架构+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

 

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email: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…

每日一练2024.5.24(补2024.5.26)

题目: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入&#x…

李良济中医馆荣获天猫健康中药行业“2023年度潜力中医馆”!

李良济集团旗下中医电商品牌李良济中医馆,凭借其在行业中持续提升的竞争力,荣获天猫健康中药行业“2023年度潜力中医馆”称号。 百年品牌,品质信得过 李良济成立于1914年,百余年来,恪守“良心良药,济世济人…

14、Go Gin打印日志

1、使用标准库log包 使用Go的标准库log包,可以快速打印日志到控制台或者文件。 package mainimport ("github.com/gin-gonic/gin""log" )func main() {r : gin.Default()r.GET("/ping", func(c *gin.Context) {log.Println("请…

centos7和centos8安装mysql5.6 5.7 8.0

https://dev.mysql.com/downloads/repo/yum/ 注意构造下http://repo.mysql.com/mysql-community-release-el*-*.noarch.rpm 【以centos7为例】 安装mysql5.6 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5…

byzer plugin install log

离线插件参考地址: Byzer Documentation 离线安装方式(错误过程记录): 参考文档:https://docs.byzer.org/#/byzer-lang/zh-cn/extension/README Byzer-lang 支持插件安装,删除,获取列表等。安装…

探索Linux中的神奇工具:深入了解find命令

探索Linux中的神奇工具:深入了解find命令 在Linux系统中,find命令是一个强大且灵活的工具,用于在文件系统中查找符合条件的文件和目录。本文将详细介绍find命令的基本用法和一些常见选项,帮助读者更好地理解和运用这个命令。 了…

力扣3152. 特殊数组 II

如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组 。 周洋哥有一个整数数组 nums 和一个二维整数矩阵 queries,对于 queries[i] [fromi, toi],请你帮助周洋哥检查子数组 nums[fromi..toi] 是不是一个 特殊…

hcip—VLAN实验

目录 实验拓扑: 实验目的: 实验思路: 实验步骤: 1.创建VLAN 2.将接口放进相应VLAN当中,并配置接口类型(hybrid口配置撕tag表) 3.配置路由器接口 4.配置DHCP服务 pc1 ping pc4的过程分析…

esp32 编程指南核心文件

ESP-IDF 编程指南 - ESP32-C3 - — ESP-IDF 编程指南 v5.1 文档 (espressif.com) ESP-IDF 入门指南 | 乐鑫科技 (espressif.com)

linux下的docker使用

docker是什么,docker翻译过来的意思就是码头工人,顾名思义,docker本质上就是一个搬运工,只不过从搬运货物改成了搬运程序,使搬运的不同的程序能够独立的运行在码头上的不同容器内,互不干扰,而他…

“腾讯云 AI 代码助手”体验

一、“腾讯云 AI 代码助手”体验 1、注册账号并进行实名认证 2、进入开发环境 3、体验javascript简单函数 代码如下: //请写一个两个日期计算的函数 function dateDiff(date1, date2) {return date2.getTime() - date1.getTime(); } var date1 new Date("2…

智享无人直播系统(三代)融合AI智能互动,成就无人直播行业的新巨星!

随着直播行业的不断发展,智享直播(三代)作为首家自主研发的智能AI直播软件引领了行业的新潮流。相比市场上的其他同类软件,我们的软件通过创新的功能实现了直播间的AI智能互动,提供了丰富而个性化的直播体验。最重要的…

fmql入门之对标zynq差异(2)

还是有很多地方需要注意的,细节又繁琐。 AXI 接上一篇,Program bit后,IAR debug无现象: prinft没有打印出字符串;GPIO初始化失败。 不知道是不是vivado补丁失败的原因: 但是重新分析综合后还是这样。 …

Lc43---- 1221. 分割平衡字符串(java版)---(贪心)(字符串)

1.题目描述 2.知识点和思路 (1)贪心算法的基本思想 选择性质:在每一步中,选择当前最优的选项,不考虑未来的后果。 局部最优解:通过一系列局部最优选择,构建全局最优解。 不可回溯:一…

2024电工杯A题详细思路代码分析数学建模:园区微电网风光储协调优化配置

题目分析:园区微电网风光储协调优化配置 我们会先给出三个问题总体的分析,最后会详细分析问题一的建模和详细内容。 背景: 园区微电网由风光发电和主电网联合为负荷供电,为了尽量提高风光电量的负荷占比,需配置较高比…

SpringBoot 实现图片防盗链功能

前言 出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地址后被下载。或者,不想浏览器直接访问图片链接。 出于性能考虑,不想要别人的网站,拿着我们的图片链接去展示,白白…

【Spring】Spring事务管理——声明式事务管理代码示例

1、声明式事务管理 步骤一&#xff1a;添加Spring和JDBC的依赖 <dependencies> <!-- Spring Core --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>你的S…

python+opencv提取.mp4 视频的每一帧并将其保存为图片

提取 .mp4 视频的每一帧并将其保存为图片&#xff0c;可以使用 cv2 库&#xff08;OpenCV&#xff09;。下面是一个完整的示例代码&#xff0c;演示如何使用 OpenCV 提取视频的每一帧并将其保存为图片&#xff0c;使用时需要将mp4文件及路径放至video_path &#xff0c;提取的图…

02--大数据Hadoop集群实战

前言&#xff1a; 前面整理了hadoop概念内容&#xff0c;写了一些概念和本地部署和伪分布式两种&#xff0c;比较偏向概念或实验&#xff0c;今天来整理一下在项目中实际使用的一些知识点。 1、基础概念 1.1、完全分布式 Hadoop是一个开源的分布式存储和计算框架&#xff0…