书籍管理系统源代码及开发文档和演示视频JavaEE框架与应用开发课

144 阅读6分钟

中北大学软件学院

实验报告

专业:软件工程
方向:云计算与大数据
课程名称:JavaEE框架与应用开发
班 级:
学 号:
姓 名:
辅导教师:

成绩:

实验时间年 月 日 时 至 时学时数4学时
1.实验名称开发NUCSELL图书管理系统
2.实验目的1.图书管理:包括图书类型管理、每本图书详细信息管理(1)图书类型管理:图书类型信息增、删、改、查询;(2)图书详细信息管理:图书信息的增、删、改、查询;a.其中图书信息包括图书编号、图书名称、图书类型、图书价格、图书封皮图片b.查询要求可以按单条件查询(例如按图书编号或图书类型查询);按多条件查询,同时满足多个条件查询,例如上面5个条件中选择3个(图书名称、图书类型、图书价格(价格按某一范围))或选择两个条件(图书类型、图书价格(价格按某一范围)),查询结果满足条件的可能有多条数据。c.图书类型管理及每本图书信息增、删、改操作必须由具有系统管理员权限的用户完成,具有普通权限的用户不能执行管理操作。2.用户管理:包括两类用户:具有普通权限的用户和具有系统管理员权限的用户。(1)用户权限分为0和1两种,0表示系统管理员权限,1表示普通用户权限。例如:张三可以登录到系统,以系统管理员身份登录进去,可以进行图书管理;以普通用户身份登录,则只能浏览图书信息,查询图书信息(简单查询和高级查询)。(2)普通用户、系统管理员用户均可有多个。(3)用户信息(包括用户ID、用户名称、密码、用户权限)管理:增、删、改、查操作。3.具有普通用户权限的用户可以完成注册、登录,信息浏览、查询功能;具有系统管理员权限的用户可以完成图书管理、用户管理功能。4.退出系统,用户注销。二、系统其他要求:1. 数据存储需使用数据库管理系统软件;2. 使用Spring Boot整合MyBatis开发;3. 前台界面采用UI框架。
3.实验内容1.NUCSELL是一个图书网站2.用户可以登录,注册,查看分类书籍并查询3.管理员登录后可以在后台对图书进行增删改查4.管理员登录后可以在后台对图书类型进行增删改查5.管理员登录后可以在后台对用户进行增删改查6. 希望可以对此项目进行更多的优化和扩展本项目由18130Y03张振东独立开发,本项目基于IDEA进行开发,使用到了Swagger接口文档进行开发,使用Github进行协同开发,使用SpringBoot+BootStrapUI进行开发,数据库使用云端数据库进行搭建并开发,使用nginx进行反向代理(本项目域名为www.nucsell.com:8080),本项目曾使用docker部署到阿里云服务器上,基本使用Restful风格的接口,符合阿里巴巴开发规范。系统架构解读:整个系统可以分为两部分:后台管理系统,前台展示系统。后台管理:①对图书的管理:包括图书封面,图书类型,图书价格等信息的管理②对图书类型的管理:对多种类型的图书分类进行管理③对用户的管理:包括用户的类型,用户的姓名,生日等进行管理。后台系统采用SpringBoot+BootStrap进行开发,后台页面使用thymeleaf进行展示。预览图:前台展示:前台门户面向的是普通用户,包含与用户交互的一切功能。例如:注册,登录,查看书籍,查询书籍等。前台使用了BootstrapUI+SpringBoot,使用Ajax进行异步交互。预览图:技术选型:前端技术:①基础的HTML、CSS、JavaScript(基于ES6标准)②使用Ajax进行异步交互③使用Jquery和BootStrapUI美化页面和简化开发后端技术:①基础的SpringMVC、Spring 5.0和MyBatis Plus②Spring Boot 2.3.4.RELEASE版本③nginx-1.10.2 进行反向代理④Thymeleaf 简化开发HTML页面⑤Swagger 进行编写接口文档,开发标准的Restful风格的接口⑥devtools 热部署开发工具
4.文件描述javacommon: 下面有dto类体现了表现层与Model层之间的解耦config:下面有关于mybatisplus的配置类,MVC的配置类,swagger的配置类Controller:控制器类的包,负责处理DispatcherServlet 分发的请求entity:实体类的包handle:处理器的类,里面包括用户和管理员登录拦截的处理,i18n国际化拦截的处理和阿里巴巴规范中create_time和 update_time的处理mapper:数据访问层service:服务层BookmanagersystemApplication:启动类resourcesmapper:存放mapper数据访问层的配置文件等i18n:国际化配置类static:存放css,js,img文件Templates:存放html文件application.properties:主配置文件nucsell.sql:数据库的sql文件
5.实验源代码1. 数据库设计 数据库环境设置过程如下:在阿里云服务器安装MySQL;创建数据库、用户权限、数据库表和测试数据; 数据库文件存放在文件夹中,请开发者在MySQL中 按照顺序运行以下脚本:nucsell.sql,用于创建数据库、用户详细信息和权限表,用来创建书籍目录表,用来创建书籍表及其关联关系。图片(Navicat):表 5.1 对象设计表1. 用户表表 5.2 user表设计1. 目录表表 5.3 category表设计1. 书籍表在进行多表查询的时候,对目录表和书籍表进行了关联。表 5.4 book表设计6.运行截图1. 接口文档页面:图6.1接口文档页面1. 登录界面(1)普通用户登录界面图6.2 普通用户登录界面1. 管理员登录界面(i18n)图6.3 管理员登录界面(zh)图6.4 管理员登录界面(en)1. 注册页面图6.5注册界面1. 用户前台主界面图6.6 用户前台主界面1. 查询分类界面(如编程)图6.7查询分类界面1. 后台管理主界面图6.8后台管理主界面1. 书籍管理主界面图6.9查询书籍图6.10增加书籍图6.11 修改书籍1. 书籍类型管理主界面图6.12查询书籍类型图6.13增加书籍类型图6.14修改书籍类型1. 用户管理主界面图6.15查询用户图6.16增加用户图6.17修改用户
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6.实验结论及心得这次实验花了我5天时间完成,在这期间我学到了好多东西,在通宵熬夜的时候,感觉只要做出来一切都是值得的。我使用到了Swagger接口文档进行开发,使用Github进行协同开发,使用SpringBoot+BootStrapUI进行开发,数据库使用云端数据库进行搭建并开发,使用nginx进行反向代理(本项目域名为www.nucsell.com:8080),本项目曾使用docker部署到阿里云服务器上,基本使用Restful风格的接口,符合阿里巴巴开发规范。