【JavaEE进阶】图书管理系统 - 贰

news/2025/2/24 1:23:52

目录

🌲前言

🎄设计数据库

🍃引⼊MyBatis和MySQL驱动依赖

🌳Model创建

🎍约定前后端交互接口

🍀服务器代码

🚩控制层

🚩业务层

🚩数据层

🌴前端代码

🎄测试页面


🌲前言

前面我们基本实现了前后端交互与相应简单的逻辑,后面经过一系列的学习,我们需要对我们的代码进行优化。

我们先对我们的登录界面进行优化。

🎄设计数据库

数据库表是应⽤程序开发中的⼀个重要环节,数据库表的设计往往会决定我们的应⽤需求是否能顺利实现,甚⾄决定我们的实现⽅式.如何设计表以及这些表有哪些字段,这些表存在哪些关系也是⾮常重要的

对于数据库表的设计,我认为有两种表,一个是实体表(从需求中查看),一个是关系表(实体直接的关系,一对一,一对多,多对一)

那么当前的图书管理系统的实体表有几个张呢,分为用户表和图书表

我们的⽤⼾表有⽤⼾名和密码即可

创建如下:

🍃引⼊MyBatis和MySQL驱动依赖

pom.xml依赖:

配置数据库与日志,yml文件如下:

🌳Model创建

创建一个model类的文件夹,创建一个UserInfo类如下:

🎍约定前后端交互接口

[请求]
/user/login
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
[参数]
name=zhangsan&password=123456
[响应]
响应失败:用户名或者密码错误;响应成功:返回空

浏览器给服务器发送 /user/login 这样的HTTP请求,服务器给浏览器返回了⼀个Boolean类型的数据,返回true,表⽰账号密码验证正确

🍀服务器代码

查看之前的登录接口代码:

之前由于没有学习数据库的操作,通过硬编码,采用mock的方式来验证账号密码;此时我们就通过从数据库获取用户名和密码来进行验证

该代码我们使用应用分层的思想进行分层书写

🚩控制层

该层我们首先需要对传入数据进行判断合法

合法后,更具名称查询用户,如果可以查到,并且密码一致,就认为登录成功,并存入session

查询相关逻辑实现我们交给业务层实现

创建UserController书写代码如下

🚩业务层

该层代码简单。

具体查询我们交给数据层查询,我们只需要进行接收返回即可

UserService代码如下:  

🚩数据层

创建UserMapper,使用注解方式进行查询,代码如下:  

🌴前端代码

        

🎄测试页面

错误登录:

输入正确用户名与密码正确跳转:  
  


http://www.niftyadmin.cn/n/5863900.html

相关文章

【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)

《API Testing and Development with Postman》最新第二版封面 文章目录 最新版《Postman 接口测试与开发实战》示例 API 项目本地部署保姆级搭建教程1 前言2 准备工作3 具体部署3.1 将项目 Fork 到自己名下3.2 创建虚拟环境并安装依赖3.3 初始运行与项目调试 4 示例项目的用法…

Java子类调用父类构造器的应用场景

在Java中,子类调用父类构造器的应用场景主要涉及到继承关系中的对象初始化。以下是几种常见的应用场景: 1. 初始化父类成员变量 当子类继承父类时,子类对象中包含父类的成员变量。为了确保这些父类成员变量被正确初始化,子类构造…

下拉框的数据置为危险的‘删除‘状态时弹窗确认

<el-form-item label"删除标志" prop"delFlag"><el-select v-model"form.delFlag" placeholder"请选择删除标志" change"handleDelFlagChange"><el-option v-for"dict in dict.type.sys_ice_del_flag&q…

大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行

一、理论知识和项目需求 1.课程介绍 2.数据库与ER建模_数据库三范式 3.数据库与ER建模_ER实体关系模型 4.数据库与维度建模_数据仓库(DATA WAREHOUSE) 5.数据库与维度建模_数据库与数据仓库区别 6.数据库与维度建模_数据仓库的发展历程 7.数据库与维度建模_维度建模 8.数据库与…

【落羽的落羽 数据结构篇】栈和队列

文章目录 一、栈1. 概念2. 栈操作2.1 定义栈结构2.2 栈的初始化2.3 入栈2.4 出栈2.5 取栈顶元素 3. 栈的使用实例 二、队列1. 概念2. 队列操作2.1 定义队列结构2.2 入队列2.3 出队列2.4 销毁队列 三、用队列实现栈四、用栈实现队列 一、栈 1. 概念 栈&#xff08;stack&#…

【Java八股文】10-数据结构与算法面试篇

【Java八股文】10-数据结构与算法面试篇 数据结构与算法面试题数据结构红黑树说一下跳表说一下&#xff1f;LRU是什么&#xff1f;如何实现&#xff1f;布隆过滤器怎么设计&#xff1f;时间复杂度&#xff1f; 排序算法排序算法及空间复杂度 数据结构与算法面试题 数据结构 红…

在本地使用 Llama 3.2-Vision:分步指南

通过直观的用户界面或强大的端点服务&#xff0c;在本地与先进的多模态 Llama 模型进行交互。 Llama 3.2-Vision 是一个强大的多模态模型&#xff0c;能够处理文本和图像数据。它具有 110 亿&#xff08;11B&#xff09;和 900 亿&#xff08;90B&#xff09;参数规模&#xff…

答题卡识别阅卷系统(Matlab)

答题卡识别阅卷系统&#xff08;Matlab&#xff09; 【完整源码丨有GUI版本也有AppDesigner版本】 本系统答题卡识别主要算法&#xff1a; 图像预处理&#xff1a;包括灰度化、二值化、倾斜校正和滤波处理。 答题卡识别&#xff1a;通过灰度值统计和二值化判断填涂情况&#x…