基于Spring Boot的图书馆管理系统

收藏关注不迷路,源码文章末


一、项目介绍

  
本系统从用户的角度出发,结合当前的环境而开发的,在开发语言上是使用的Java语言,在框架上我们是使用的springboot框架,数据库方面使用的是MySQL数据库,开发工具为IDEA。
基于Spring Boot的图书馆管理系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括用户的注册登录,首页,图书信息,公告信息,后台管理等功能;后台部分主要给管理员使用的,主要功能包括系统首页,个人中心,用户管理,图书分类管理,图书信息管理,借阅记录管理,续借记录管理,归还记录管理,罚款信息管理,信息提醒管理,图书盘点管理,系统管理等功能。通过这些功能基本可以满足智慧图书管理的需求。

关键词:图书;借阅归还;springboot框架;MySQL

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

基于Spring Boot的图书馆管理系统根据实际情况分为前后台两部分,前台部分主要是让用户使用的,包括用户的注册登录,首页,图书信息,公告信息,后台管理等功能;后台部分主要给管理员使用的,主要功能包括系统首页,个人中心,用户管理,图书分类管理,图书信息管理,借阅记录管理,续借记录管理,归还记录管理,罚款信息管理,信息提醒管理,图书盘点管理,系统管理等功能。通过这些功能基本可以满足智慧图书管理的需求。基于Spring Boot的图书馆管理系统具体功能如下图所示

在这里插入图片描述

图4-1基于Spring Boot的图书馆管理系统功能结构图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目录
摘 要 I
Abstract II
目录 III
第1章 系统概述 1
1.1 研究背景 1
1.2 研究意义 1
1.3研究内容 1
第2章 系统开发环境 3
2.1 Java语言介绍 3
2.2 Spring boot框架介绍 3
2.3 MySQL数据库介绍 3
2.4 IDEA介绍 4
第3章 需求分析 5
3.1基于Spring Boot的图书馆管理系统需求分析 5
3.2 可行性分析 5
3.2.1技术可行性 5
3.2.2操作可行性 5
3.2.3经济可行性 5
3.1.4法律可行性 6
第4章 系统概要设计 7
4.1系统结构 7
4.2 数据库设计 7
第5章 系统详细设计 14
5.1 基于Spring Boot的图书馆管理系统前台部分设计 14
5.1.1 系统首页 14
5.1.2用户注册 14
5.1.3用户登录 15
5.1.4公告信息 16
5.1.5图书信息 17
5.2 基于Spring Boot的图书馆管理系统后台部分设计 20
5.2.1管理员登录模块的实现 20
5.2.2用户管理 20
5.2.3图书分类管理 22
5.2.4图书信息管理 23
5.2.5公告信息管理 25
5.2.6借阅记录管理 26
5.2.7归还记录管理 27
第6章系统测试 28
6.1 基于Spring Boot的图书馆管理系统的测试目的 28
6.2 基于Spring Boot的图书馆管理系统的测试方法 28
6.3 基于Spring Boot的图书馆管理系统测试用例 28
第7章 总结 31
致 谢 32
参考文献: 33

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本图书管理系统总体上分为前台页面显示和后台管理。 前台页面(即本书图书管理系统的首页)实现了公告的显示,图书查询,留言建议三大主要功能,有读者规则查看功能,师生们可以看到图书管理人员发布的最新公告信息,并可以查询自己感兴趣的图书,查看留言提议,用户登录后还有个人资料修改、个人借阅信息查询、个人违章信息查询等功能,也可以给学校的图书管理人员留言提议。 后台的页面则集成了图书管理中所需的功能,分成图书管理人员和系统管理人员,平时管理人员的工作都是在后台中完成的。前台是为了师生显示的。相对应的后台是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台图书管理人员功能包括:借阅图书、归还图书、借书记录显示与查找、还书记录显示与查找、公告增删改查;后台系统管理员功能包括:对书籍的增删改查、对书籍分类的增删改、对借阅证的增删改查、对借阅信息的显示与查找、对借阅规则的增删改、对图书管理员的增删改、对近期借阅书籍数量的折线图显示,以及对这些表格数据进行Excel表格的输出 共包含三个大模块:用户、图书管理员、系统管理员 一、用户模块 查看公告:能看到图书管理员发布的公告信息。 图书查看:分页显示,能看到图书总览,能通过图书编号、图书名称、作者、存放位置、图书描述进行模糊查询 个人违章信息(登录后):个人历史违章信息与查询 图书馆读者留言(登录后):对图书馆的建议,或对书籍的评价 查看借阅规则:不同的规则有不同的借阅限定数量、限定时间、超期费用 个人信息(登录后):对个人信息的查看与登录密码的修改 个人借阅信息(登录后):对个人借阅记录的分页查看与查询 二、图书管理员模块 借还图书:帮助用户借阅图书,并判断符不符合借阅规则、返还图书时判断有没有超期,超期则输出超期费用再归还 借阅报表:分页显示所有借阅记录、能进行查询和输出结果到excel公告管理:能添加编辑和删除公告 还书报表:分页显示所有未还的书籍,能通过借阅证号、图书编号、借阅日期、截止日期等条件进行模糊查询 个人信息修改:修改个人信息、密码等 三、系统管理员模块 书籍管理:分页,新添图书,设置图书各种信息,编辑删除,通过编号、书名、作者、描述等进行搜索,输出结果到excel,并且能查看该书籍被谁借阅过。 分类管理:分页显示,增删改书籍分类,书籍分类方便查阅整理 借阅证管理:分页显示所有借阅证,增删改查用户借阅证,查看该借阅证所有的借阅记录 借阅规则管理:能显示、编辑、删除所有借阅规则,借阅规则将决定该图书证能借阅什么图书馆的图书,能借多少本,能借多久以及超期每天的费用。 借阅信息查询:分页显示,能条件查询超期没还的,根据编号、借阅证号、书籍编号、借阅日期等进行模糊查询,输出结果到excel等,系统管理员只能查询,不能增删改借阅信息,这个操作由图书管理员操作。 图书管理员管理:对图书管理员进行增删改操作,但是不能修改原来的账号 图书借阅统计:通过折线图将图书馆近30天的每天借阅书籍数量直观的显示出来。 sql表 共有十张数据库表,书籍表、借书记录表、留言表、系统管理员表、借阅证表、图书管理管理员表书籍分类表、图书馆表、借阅规则表、公告表 书籍表 编号、姓名、作者、存放的图书馆、分类编号、存放位置、是否借出、书籍描述 借书记录表 编号、借阅证编号、书籍编号、借书日期、限制日期、归还日期、违规描述、处理人编号 留言表 编号、借阅证编号、留言内容、留言日期 系统管理员表 账号、密码 借阅证表 编号、密码、借阅者姓名、规则编号、状态(丢失、可用) 图书管理员表 编号、姓名、账号、密码、邮箱 书籍分类表 编号、分类名、分类描述 图书馆表 编号、图书馆名、描述 规则表 编号、限制借阅数量、限制借阅天数、图书超期每天费用 公告表 编号、标题、公告内容、发布日期
基于Spring Boot图书馆管理系统是一个用于管理图书馆资源和借阅记录的应用程序。它提供了一系列功能,包括添加、删除和更新图书信息、管理借阅记录、查询图书信息等。 该系统的主要特点和功能如下: 1. 用户管理:支持管理员和普通用户两种角色,管理员可以管理用户信息,包括添加、删除和更新用户信息。 2. 图书管理:管理员可以添加、删除和更新图书信息,包括图书名称、作者、出版社、ISBN等信息。 3. 借阅管理:用户可以查询图书信息,并进行借阅操作,管理员可以管理借阅记录,包括借阅时间、归还时间等。 4. 搜索功能:支持按照图书名称、作者、出版社等关键字进行搜索,方便用户查找所需图书。 5. 预约功能:用户可以预约图书,系统会自动将预约的图书保留一段时间,方便用户前来借阅。 6. 统计报表:系统可以生成借阅统计报表,包括借阅次数最多的图书、借阅次数最多的用户等。 该系统使用Spring Boot框架进行开发,具有以下优势: 1. 快速开发:Spring Boot提供了自动配置和快速启动的特性,简化了项目的搭建和配置过程,提高了开发效率。 2. 松耦合:Spring Boot采用了模块化的设计,各个模块之间解耦,方便维护和扩展。 3. 强大的生态系统:Spring Boot拥有丰富的第三方库和插件,可以快速集成其他常用框架和工具,提供更多功能和便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ1039692211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值