首页 » 网站推广 » php源码图书技巧_基于SpringBoot从0到1编写一个图书治理系统附源码

php源码图书技巧_基于SpringBoot从0到1编写一个图书治理系统附源码

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

需求剖析基于SSM + MySql + LayUI的图书管理系统。
该系统应包含图书信息的添加,删除,修正,查询,上传图书封面、借书,还书功能,用户层面的查看个人 信息,以及登录,注销,修正用户密码功能,以及查询借阅记录功能。
该系统区分三种不同的角色:管理员、西席、学生。
管理员拥有所有的功能,可查询所有用户的借阅记录,并且可无限借书,且无超期限制。
西席拥有图书查询,借书,还书,查询个人借阅记录,并且拥有用户层面的所有功能,最多可借10本书,超期天数为10天。
学生拥有图书查询,借书,还书,查询个人借阅记录,并且拥有用户层面的所有功能,最多可借5本书,超期天数为5天。
用户登录后可访问有权限的资源,若未登录,重定向到登录页面。
借阅记录页面显示用户是否超期,并且提示用户间隔超期韶光还有多少韶光。
技能选型:前台 LayUI + jQuery + CSS后台 SpringBoot + MyBatis + MySQL权限掌握 Shiro

系统功能模块设计

php源码图书技巧_基于SpringBoot从0到1编写一个图书治理系统附源码

项目构造

php源码图书技巧_基于SpringBoot从0到1编写一个图书治理系统附源码
(图片来自网络侵删)

功能实现

输入用户名密码,系统通过shiro进行身份验证后,方可登录成功进入系统。
有其他要求进入系统后,会被Shiro拦截,判断是否已经登录,如果已经登录,则许可连续访问,否则,重定向到登录页面,核心代码见下图:

注册

用户填写注册信息,选择相应的角色(本系统有三种角色:管理员、西席、学生),即可注册成功,插入用户表与用户角色对应关系表注销

修正密码

用户登录成功后,方可修正密码

图书查询

供应两个查询条件选择:图书编号、图书名称,均精确查找前台页面利用jQuery发送Ajax要求,要求到达BookController后,由BookController去调用service层,然后service层通过MyBatis去做数据库查询操作,返回给前台,核心代码如下:

图书编辑

只有管理员角色才拥有此操作权限。
前台通过jQuery发送Ajax要求到达BookController的updateBook方法,首先校验图书编号、名称、出版社字段信息是否为空,校验通过后,调用service的更新方法,由service层通过MyBatis做数据库更新操作。
核心代码如下:

图书删除

只有管理员角色才拥有此操作权限。
前台通过jQuery发送Ajax要求到达BookController的deleteBookByNo方法,controller层调用service层,由service层通过MyBatis做数据库删除操作。
核心代码如下:

图书入库

只有管理员角色才拥有此操作权限。
前台通过jQuery发送Ajax要求到达BookController,字段进行为空校验后,验证编码对否已存在,如果已存在,则不许可新增,担保编码的唯一性,如果不存在,则调用service层的insert方法,service层通过MyBatis做数据库插入操作。
插入成功后,将上传的封面图片保存。
核心代码如下:

图书信息查看

此功能不涉及后台操作,将行数据展示到弹出层即可。

借书

前台通过jQuery发送Ajax要求到达BorrowController,BorrowController吸收到http要求后,首先查询图书确当前库存数量,若库存不敷,返回“库存不敷,无法借书”;如果库存充足,接着查询登录人的借书未还数量,如果已经达到最大借书数量(管理员没有限定,西席最大数量为10,学生为5),则返回前台“已达到最大借书数量,不许可连续借书”;如果条件都知足后:开启数据库事务,做以下两个操作,两个操作都成功后,将事务提交,如果有一个失落败,则将该事务回滚,担保数据的同等性:1、更新图书库存,通过MyBatis操作book表,将该书的库存-1;2、新增借阅记录,通过MyBatis操作borrow_recod表,插入一条借阅记录核心代码如下:

查询借阅记录

管理员角色可以查看所有用户的借阅记录,其他角色只能查询本人的借阅记录。
前台通过jQuery发送Ajax要求到达BorrowRecordController,controller吸收到http要求后,首先查询用户的借阅记录。
查询到借阅记录凑集后,做遍历操作,打算每条借阅记录间隔超期时候的韶光间隔,并且打算该借阅记录是否超期(管理员没有超期限制,西席最长借书天数为10,学生为5),数据打算完成后,由BorrowRecordController返回前台。
核心代码如下:

还书

用户点击还书按钮首先判断该借阅记录是否有还书韶光,若有,提示前台“该书已还”。
前台jQuery发送ajax要求到BorrowRecordController,controller吸收到用户要求后,首先查询当前登录人是否为该借阅记录的借书人,如果不是,则返回前台“不许可替他人还书”;条件知足后,开始事务,做以下两个操作:1、更新图书库存,通过MyBatis操作book表做update操作,将本书的库存+12、更新借阅记录还书韶光,通过MyBatis操作borrow_record表做update操作,将该借阅记录的还书韶光更新为当前韶光这两个操作全部都精确实行后,提交事务,否则将事务回滚,担保数据的同等性核心代码如下:

权限校验

本系统权限校验通过Shiro权限框架实现,分为操作权限和页面权限。
非管理员权限无法查看图书管理页面,故无法做图书的新增,修正,删除操浸染户登录后,将上岸人所属角色的所有操作权限交由Shiro管理,每一个要求进来后,都会由Shiro进行鉴权,鉴权通过后,方可处理该要求。
系统菜单通过数据库进行配置,用户登录后,将登录人所属角色所拥有的的菜单权限查询出来,并展示再前台页面。
核心代码如下:

项目总结本项目采取LayUI+ CSS+ SpringBoot+ jQuery + MyBatis + Maven + MySQL架构实现,程序运行结果良好,代码格式工致。

标签:

相关文章

php引入jar包技巧_进入Maven进修

1、我们须要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包每每有几十个乃至上百个, 每用到一种jar 包,都须要手动...

网站推广 2024-12-08 阅读0 评论0