图书管理系统

1. 本设计以图书管理业务为对象,系统实现用的前台开发工具是eclipse,后台数据库为MySQL。设计过程中的重点和难点是对整个系统的需求分析和数据库详细设计。

该系统对数据进行保存、修改、删除等管理。为用户提供了一个友好、简单快捷的运行操作平台。该统对数据进行保存、修改、删除等管理,为用户提供了一个友好、简单快捷的运行操作平台。本系统的各界面设计友好、流程正确、功能也较为完善,旨在为用户提供方便快捷的服务,使人们走近书籍,走进书籍,热爱读书。

本次设计意在为图书管理行业提供一个简便、易操作、可靠的借还管理系统,实现图书借阅、书店人员的更新及管理。

关键词:MySQL;图书管理系统;借书还书;排行榜;问题反馈

2 概述

2.1 系统主要功能

读者:登录注册,借阅还书,查询书籍,查看当前借阅信息以及历史借阅信息,查看、查询读者借阅榜以及借阅书籍借阅榜,问题反馈以及查询反馈结果等功能。

管理员:对图书、图书分类、读者信息的增删改查,查看全部读者当前借阅信息以及借阅历史,查看、查询书籍借阅榜及读者借阅榜,查看、查询用户反馈信息并修改反馈状态(未解决或已解决)。

超级管理员:除管理员权限外,新增管理员权限。对管理员信息进行增删改功能。为书店员工定制个人账号,方便管理。

2.2 系统相关说明

为图书管理行业提供一个简便、易操作、可靠的借还管理系统,实现图书借阅、书店人员的更新及管理。

本设计以图书管理业务为对象,系统实现所用前台开发工具是eclipse,后台数据库为MySQL。设计过程中的重点及难点是对整个系统的需求分析和数据库详细设计。

该系统对数据进行保存、修改、删除等管理,为用户提供了一个友好、简单快捷的运行操作平台。本系统的各界面设计友好、流程正确、功能也较为完善,旨在为用户提供方便快捷的服务,使人们走近书籍,走进书籍,热爱读书。

3 运行环境

3.1 系统的运行环境

3.1.1 系统运行硬件环境

基于开发使用的开源系统:

CPUPIV1.6G以上

内存:256M以上

硬盘:40G以上

其他:光驱、3.5英寸软驱、鼠标

3.1.2 系统运行软件环境

(1)操作系统配置:Windows

(2)编译软件:eclipse,环境:JDK1.8

(3)服务器:Tomcat

(4)驱动:JDBC

(5)数据库:MySQL

(6)前端框架:bootstrap

3.2 网络环境

本系统需要运行在单位局域网,要求服务器、客户端计算机连接在此网络上。

4 安装与配置

4.1 安装

(1)eclipse的安装

(2)Tomcat服务器的安装

(3)MySQL数据库的安装

4.2 配置

(1)Windows操作系统的配置

(2)JDK1.8环境的配置

(3)Tomcat服务器的配置

(4)JDBC驱动的配置

(5)MySQL数据库的配置

5 操作说明

系统是基于eclipse的系统软件,在Tomcat服务器上运行主页面:http://localhost:8080/books/login.jsp(直接运行功能页面会报错)

根据输入的学号/工号及密码进入不同的主页面,主页面附有本项目各页面的操作简介,方便用户进行操作。

每个界面相应的功能再后续介绍中会一一指出,如有疑问或建议也可以进入反馈页面告知管理员,管理员会尽快联系您并解决问题。操作完毕后单机右上角的“退出”模糊框退出系统。

5.1 进入登录界面

输入账号(学号/工号)、密码及验证码进行登录,后台根据不同的账号密码识别到用户身份进入相应的主页面。尚未注册点击“注册即可快速注册”,也可以联系管理员添加账号。

图5.1 登陆界面

图5.2 注册页面

图5.3 登陆失败(密码、验证码错误)

5.2 进入系统

5.2.1读者界面

系统界面由图书查询、借阅信息、借阅历史、热门推荐、最佳读者、问题反馈构成。左上角“欢迎使用图书管理系统”字样在每一个功能页中都有,单击可以跳转到当前页面(主页面),右上角的模糊框(图5.5)内有以下三个功能:修改个人资料(图5.6),修改密码(图5.7),退出系统。

图5.4 读者界面

图5.5 模糊框

图5.6 修改个人资料

图5.7 修改密码

5.2.2管理员与超级管理员界面

系统界面由图书管理、读者管理、图书分类管理、图书借阅信息、图书归还信息、管理员管理(需登录)(图5.9)、热门推荐、最佳读者、读者反馈构成。其中管理员管理功能为超级管理员管理权限(图5.10)。左上角“欢迎使用图书管理系统”字样在每一个功能页中都有,单击可以跳转到当前页面(主页面),右上角的模糊框内功能与读者页面功能相同。

图5.8 管理员界面

图5.9 超级管理员登录

图5.10 超级管理员权限

—————————–读者功能页—————————–

5.3 图书查询

列出馆内所有图书的信息,包括图书号、图书类型、图书名称、作者名称、出版社、总数量。可以根据书名、作者、图书分类查询图书(图5.12),点击借阅按钮弹窗确认借阅,完成借阅图书操作(图5.13)。

图5.11 图书查询功能页

图5.12 查询图书

图5.13 借阅图书弹窗

5.4 借阅信息

展示当前登录的读者正在借阅的图书信息。记录借阅日期与截至还书日期,延长期限需联系管理员,通过管理员权限进行延期操作。点击还书按钮弹窗确认还书,完成还书操作。

图5.14 借阅信息功能页

图5.15 确认还书弹窗

5.5 借阅历史

展示当前登录的读者历史借阅的图书信息。记录借阅日期与还书日期。

图5.16 借阅历史功能页

5.6 热门推荐

根据借阅次数由高到低实时排序,展示图书的所有信息,可以根据书名、作者、图书分类查询图书,点击借阅按钮弹窗确认借阅,完成借阅图书操作。

图5.17 热门推荐功能页

5.7 最佳读者

根据借阅量由高到低实时排序,展示读者的ID、姓名、账号,可以根据以上信息查询读者借阅量以及当前排名。

图5.18 最佳读者功能页

5.8 问题反馈

根据给出的提示信息填写反馈内容,提交后转到反馈结果页面(图5.20),3s后自动跳转到“我的反馈”(图5.21),查看当前登录账号的历史反馈记录以及反馈信息的状态(未解决或已解决)。也可以在反馈页面直接链接跳转到“我的反馈”进行查看。

图5.19 问题反馈功能页

图5.20 反馈结果页面

图5.21 我的反馈页面

—————————-管理员功能页—————————-

5.9 图书管理

列出馆内所有图书的信息,包括图书号、图书类型、图书名称、作者名称、出版社、总数量。可以根据书名、作者、图书分类查询图书。添加图书弹出模糊框(图5.23)。点击修改按钮模糊框内修改图书信息(图5.24),点击删除按钮弹窗确认删除,完成删除图书操作(图5.25)。

图5.22 图书管理功能页

图5.23 添加图书模糊框

图5.24 修改图书信息模糊框

图5.25 删除图书弹窗

5.10 图书管理

列出记录的所有读者的信息,包括ID、账号、姓名、邮箱、手机号、可借阅天数、最大可借数。添加读者弹出模糊框(图5.27)。点击修改按钮模糊框内修改读者信息,点击删除按钮弹窗确认删除,完成删除读者操作。

图5.26 读者管理功能

图5.27 添加读者模糊框

5.11 图书分类管理

列出馆内所有图书分类信息,包括ID和图书分类名称。添加分类弹出模糊框(图5.29)。点击修改按钮模糊框内修改图书分类信息,点击删除按钮弹窗确认删除,完成删除图书分类操作。

图5.28 图书分类管理功能页

图5.29 添加分类模糊框

5.12 图书借阅信息

展示所有读者正在借阅的图书信息。记录图书、读者信息与借阅日期、截至还书日期,还书按钮帮助读者还书,点击还书按钮弹窗确认还书,完成还书操作。延期按钮修改截至还书日期(图5.31),一般以月为单位。

图5.30 图书借阅信息功能页

图5.31 延期模糊框

5.13 图书归还信息

展示所有读者已归还的图书信息。记录图书、读者信息与借阅日期、还书日期。

图5.32 图书归还信息功能页

5.14 管理员管理(需登录)

图示已在5.2.2中给出,此选项仅供超级管理员使用,进入本页面需再次登录,且指定唯一账户密码(即为超级管理员账户密码),其中,添加管理员弹出模糊框(图5.33)。

图5.33 添加管理员模糊框

5.15 热门推荐

根据借阅次数由高到低实时排序,展示图书的所有信息,可以根据书名、作者、图书分类查询图书。

图5.34 管理员热门推荐功能页

5.16 最佳读者

根据借阅量由高到低实时排序,展示读者的ID、姓名、账号,可以根据以上信息查询读者借阅量以及当前排名。

图5.35 管理员最佳读者功能页

5.17 读者反馈

列出记录的所有读者反馈信息,包括ID、读者ID、标题、问题页面、问题描述、联系电话及问题状态。可以根据读者ID、标题、问题页面、问题描述以及问题状态信息查询反馈信息。点击修改按钮模糊框内修改问题状态(图5.37),点击删除按钮弹窗确认删除,完成删除图书操作。

图5.36 图书借阅信息功能页

图5.37 修改问题状态模糊框

6 数据库信息

6.1 读者 admin表

设置读者ID aid自10000起自动增长,账号 username非空(用于登录),借阅量 times默认为0,身份 status默认为1(读者),超级管理员添加管理员时将该项初始为2(管理员)。

DROP TABLE IF EXISTS `admin`;

CREATE TABLE `admin` (

`aid` int(0) NOT NULL AUTO_INCREMENT,

`username` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

`name` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`password` char(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`email` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`phone` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`times` int(0) NULL DEFAULT 0,

`status` int(0) NULL DEFAULT 1,

`lend_num` int(0) NULL DEFAULT NULL,

`max_num` int(0) NULL DEFAULT NULL,

PRIMARY KEY (`aid`, `username`) USING BTREE,

INDEX `username`(`username`) USING BTREE,

INDEX `name`(`name`) USING BTREE,

INDEX `status`(`status`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 10006 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

6.2 图书 book表

设置图书ID bid自2000001起自动增长,书名 name、书号 card、图书数量 num非空,借阅量 times默认为0。

DROP TABLE IF EXISTS `book`;

CREATE TABLE `book` (

`bid` int(0) NOT NULL AUTO_INCREMENT,

`name` char(205) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

`card` char(205) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

`autho` char(205) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`num` int(0) NOT NULL,

`press` char(205) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`type` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`times` int(0) NULL DEFAULT 0,

PRIMARY KEY (`bid`) USING BTREE,

INDEX `card`(`card`) USING BTREE,

INDEX `name`(`name`) USING BTREE,

INDEX `type`(`type`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 2000007 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

6.3 图书分类 booktype表

设置图书分类ID tid自3001起自动增长,分类名 name非空。

DROP TABLE IF EXISTS `booktype`;

CREATE TABLE `booktype` (

`tid` int(0) NOT NULL AUTO_INCREMENT,

`name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

PRIMARY KEY (`tid`) USING BTREE,

INDEX `name`(`name`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 3005 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

6.4 历史记录 history表

设置记录ID hid自400001起自动增长,记录状态 status已归还为0,未归还为1。

DROP TABLE IF EXISTS `history`;

CREATE TABLE `history` (

`hid` int(0) NOT NULL AUTO_INCREMENT,

`aid` int(0) NULL DEFAULT NULL,

`bid` int(0) NULL DEFAULT NULL,

`card` int(0) NULL DEFAULT NULL,

`bookname` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`adminname` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`username` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`begintime` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`endtime` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`status` int(0) NULL DEFAULT NULL,

PRIMARY KEY (`hid`) USING BTREE,

INDEX `status`(`status`) USING BTREE,

INDEX `aid`(`aid`) USING BTREE,

INDEX `bid`(`bid`) USING BTREE,

INDEX `bookname`(`bookname`) USING BTREE,

INDEX `adminname`(`adminname`) USING BTREE,

INDEX `username`(`username`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 400010 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

6.5 反馈信息 problem表

设置信息ID pid自5000001起自动增长,问题状态 status默认为“未解决”。

DROP TABLE IF EXISTS `problem`;

CREATE TABLE `problem` (

`pid` int(0) NOT NULL AUTO_INCREMENT,

`aid` int(0) NULL DEFAULT NULL,

`name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`page` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`body` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`phone` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`status` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ‘未解决’,

PRIMARY KEY (`pid`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 5000002 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

7 类图

7.1 用户管理

图7.1 用户管理类图

7.2 系统信息

图7.3 系统信息类图

7.3 操作及反馈信息

图7.3 操作及反馈信息类图

参考资料:

基于java的图书借阅管理系统设计与实现(源代码+数据库+部署文档+部署视频)https://download.csdn.net/download/dwf1354046363/87813604

Java毕业设计174例,包含部署视频_易小侠的博客-CSDN博客https://cv2022.blog.csdn.net/article/details/124463185?spm=1001.2014.3001.5502