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

目录

🌲前言

🎄设计数据库

🍃引⼊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,使用注解方式进行查询,代码如下:

🌴前端代码

🎄测试页面

错误登录:

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

相关推荐
CodeToGym21 分钟前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
凡人叶枫31 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
JMchen1231 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
阔皮大师1 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享1 小时前
StickyNotes,简单便签超实用
java·python
qq_297574671 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
金牌归来发现妻女流落街头1 小时前
【从SpringBoot到SpringCloud】
java·spring boot·spring cloud
毅炼1 小时前
Java 基础常见问题总结(4)
java·后端
张3蜂1 小时前
深入理解 Python 的 frozenset:为什么要有“不可变集合”?
前端·python·spring
GR2342342 小时前
2025年影视仓TV+手机官方版 内置地址源支持高清直播
java·智能手机·软件