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

本文介绍了使用Java和SpringBoot开发的图书馆管理系统,涵盖了前后台功能、开发环境配置、核心代码示例以及系统架构。详细描述了用户管理、图书操作、管理员权限等功能,旨在提供全面的智慧图书管理解决方案。
摘要由CSDN通过智能技术生成

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


一、项目介绍

  
本系统从用户的角度出发,结合当前的环境而开发的,在开发语言上是使用的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

一、项目简介 本项目是一套基于SpringBoot的图书管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:SpringBoot ​数据库:MySQL 开发环境:JDK、IDEA、Tomcat 三、系统功能 本图书管理系统主要包含两种角色:读者和管理员。读者只能对个人信息的查阅、修改,图书的查询,而管理员则可以进行图书信息及借阅信息的管理。 具体实现功能如下: (1)系统登录。分为普通读者登录和管理员登录。 (2)系统管理。系统管理包括管理员设置,以及图书类别设置。管理员设置包括管理员信息的设置以及密码的设置。图书类别的设置只有管理员才可以对他进行新增,修改和删除。 (3)图书管理。包括图书信息管理,图书信息查询。只有管理员才可以对图书进行管理,图书查询是帮助读者方便查找图书信息。 (4)读者管理。读者管理包括读者信息管理,以及读者信息的查询。读者信息查询可以根据读者的姓名和编号进行查询。读者信息管理只对管理员有用,只有管理员可以添加读者,修改和删除读者的信息。 (5)图书借阅管理。图书借阅包括图书的借阅,归还以及续借。图书的借阅以及归还只对管理员起作用,只有通过管理员才可以进行图书的借阅以及归还。读者只能对图书进行续借的操作。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QQ1039692211

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

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

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

打赏作者

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

抵扣说明:

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

余额充值