目录
🌲前言
前面我们基本实现了前后端交互与相应简单的逻辑,后面经过一系列的学习,我们需要对我们的代码进行优化。
我们先对我们的登录界面进行优化。
🎄设计数据库
数据库表是应⽤程序开发中的⼀个重要环节,数据库表的设计往往会决定我们的应⽤需求是否能顺利实现,甚⾄决定我们的实现⽅式.如何设计表以及这些表有哪些字段,这些表存在哪些关系也是⾮常重要的
对于数据库表的设计,我认为有两种表,一个是实体表(从需求中查看),一个是关系表(实体直接的关系,一对一,一对多,多对一)
那么当前的图书管理系统的实体表有几个张呢,分为用户表和图书表
我们的⽤⼾表有⽤⼾名和密码即可
创建如下:
🍃引⼊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,使用注解方式进行查询,代码如下:
🌴前端代码
🎄测试页面
错误登录:
输入正确用户名与密码正确跳转: