SSM高校图书共享系统-计算机毕业设计源码92249

摘要

随着信息化时代的到来,智能操作系统成为图书管理的重要组成部分,为用户提供优质的服务。该系统采用Java编程语言,采用开放源码系统结构SSM完成整个系统结构,以MySQL作为数据库进行存储,Tomcat作为服务器,负责从前面向用户提供信息。该系统主要实现集人性化、高效率、便捷等优点于一身的图书共享管理,完成用户管理、图书分类、图书售卖、图书租赁、租赁记录、归还记录等功能模块。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。

关键词  Java;SSM高校图书共享系统 ;MySQL

SSM University Book Sharing System

Abstract  

With the advent of the information age, intelligent operating systems have become an important component of library management, providing users with high-quality services. The system adopts Java programming language and the open source system architecture SSM to complete the entire system structure. MySQL is used as the database for storage, and Tomcat is used as the server, responsible for providing information to users from the front. The system mainly implements a book sharing management system that combines the advantages of humanization, high efficiency, and convenience. It completes functional modules such as user management, book classification, book sales, book leasing, rental records, and return records. The entire system design process fully considers issues such as data security, stability, and reliability, and the operation process is simple. Through scientific management methods and convenient services, work efficiency has been improved, and errors and omissions in data storage have been reduced.

Key wordsJava; SSM; University book sharing system; MySQL

目录

1 绪论

1.1 研究背景

1.2国内外研究现状

2 相关技术介绍

2.1 JavaScript 运行模式

2.2Vue框架

2.3 MySQL数据库

2.4SSM框架

3 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 功能需求分析

3.3 非功能性需求分析

4 系统设计

4.1系统体系结构

4.1.1前端用户功能结构图设计

4.1.2后端管理员功能结构图设计

4.2总体功设计

4.3子模块设计设计

4.3.1系统前端界面

4.3.2系统后端界面

4.4 数据库概念结构设计

4.5  数据库逻辑结构设计

5 系统实现

5.1前台用户功能模块

5.1.1 前台首页界面

5.1.2注册界面

5.1.3登录界面

5.1.4 校园新闻详情界面

5.1.5 图书售卖详情界面

5.1.6购物车界面

5.1.7我的订单界面

5.1.8图书租赁界面

5.2管理员功能模块

5.2.1 用户管理界面

5.2.2商城管理界面

5.2.3图书租赁管理界面

5.2.4 租赁记录管理界面

5.2.5归还记录管理界面

6系统的测试

6.1测试的目的

6.2 系统测试用例

6.3 系统测试结果

结论

参考文献

致谢

1 绪论

1.1 研究背景

随着全球化和信息化的快速发展,知识和信息的传播方式也在发生深刻变化。图书馆作为传统的知识中心,正面临着如何更好地适应这种变化,提供更高效、更便捷服务的挑战。传统的图书管理方式由于其局限性,已经难以满足日益增长的读者需求。因此,开发一种能够实现信息共享、资源优化的图书管理共享系统成为了迫切的需求。

此外,随着数字化技术的不断发展,高校图书馆的数字化资源建设日益完善,数字化资源共享成为高校图书馆资源共享的主要模式。各高校图书馆通过网络平台合作,在资源共享、文献互借、馆际合作等方面开展积极合作,形成了一定的共享网络。因此,研究高校图书共享系统,可以更好地满足读者的需求,提高图书馆的服务效率,促进高校图书馆的数字化转型和发展。

1.2国内外研究现状

在图书馆的发展中,国外图书馆学的发展要早于国内,资源形式的多样性和文献传递的便捷性在目前都处于较高地位。20世纪30年代初,美国就出现了高校图书馆联盟,将各自图书馆馆藏资源共享互通,形成了资源共享的雏形。随着美国第一批高校图书馆联盟的出现并取得了阶段性的成功,西方多个国家的高校图书馆纷纷开始效仿,许多高校图书馆与同城其他高校,或者是与几所著名高校通过互相合作,结成"兄弟馆",并将馆藏文献资源进行共享互通,由此开启了文献资源共享时代。

随着国内高校数量的增加和规模的扩大,高校图书馆的资源建设和服务水平也在不断提高。近年来,国内高校图书馆也开始尝试开展馆际互借、文献传递、资源共享等服务,并取得了一定的成效。同时,一些高校也开始探索建立图书共享系统,以提高图书资源的利用率和服务效率。

总的来说,高校图书共享系统的发展已经成为一个全球性的趋势,国内外都在积极探索和实践,以提高图书资源的共享效率和服务水平。

2 相关技术介绍

2.1 JavaScript 运行模式

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的

是一种解释性脚本语言(代码不进行预编译)。

主要用来向HTML标准通用标记语言下的一个应用)页面添加交互行为。

可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离

跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如WindowsLinuxMacAndroidiOS等)。

 JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

2.2 Vue框架

Vue.js鼓励组件化开发,将应用划分为多个小组件,每个组件都有自己的状态和行为。这提高了代码的可维护性,降低了代码的复杂性,并促进了团队协作。Vue.js提供了一系列的工具和库,同时也支持使用其他库来处理各种需求,如路由、状态管理等。这使得开发者能够根据项目的具体需求进行灵活的配置和扩展。Vue.js拥有庞大而活跃的社区,丰富的第三方库和插件,这些资源可以帮助开发者更快速地解决问题和实现功能。Vue.js通过虚拟DOM和一些优化手段,提供了较高的性能。它能够更智能地更新DOM,减少不必要的操作,从而提高应用的性能。对于构建单页面应用,Vue提供了Vue Router等工具,简化了路由管理,使得构建复杂的前端应用更加容易。

2.3 MySQL数据库

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的Mysql并不是甲骨文公司的,后来才被他收购的。Mysql非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是mysql同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习结论所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用mysql进行数据库管理。Mysql的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以mysql在使用上还是更多的使用在中小项目中。

2.4SSM框架

在后端技术方面,系统开发采用了SSM框架,即Spring、SpringMVC和MyBatis的组合。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它主要用于简化企业级应用的开发。SpringMVC则是一个基于Java的Web开发框架,它实现了Web MVC设计模式,将Web层进行职责解耦,使得开发更加简便且易于扩展。MyBatis则是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,可以使用简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通的Java对象)为数据库中的记录。

3 系统分析

3.1 可行性分析

可行性分析是系统分析的第一步,通过可行性分析我们可以得出系统是不是值得开发,如果系统的开发是不可信的,那么就没有必要再进行下面的操作,对于本高校图书共享系统在可行性方面进行了技术、经济以及操作的分析。

3.1.1 技术可行性分析

高校图书共享系统在技术上采用的是JAVA语言、基于Browser/Server模式,前台使用了Vue、HTML、js、CSS等技术,后台使用了SSM框架结合MYSQL数据库,这些技术在校期间都已经学习过,而且用这些技术开发过一些小的系统,同时在实际开发中JAVA功能强大被普通应用,因此开发技术是没有问题的。

3.1.2 经济可行性分析

开发高校图书共享系统相对来说并不需要太高的经济投入。开发工具、服务器、数据库等资源可以通过网络搜索、下载和安装,只需要一台普通的计算机就可以完成系统的开发操作。此外,在系统功能规划方面,可以通过问卷调查了解用户需求,并参考相关系统的设计和功能需求进行系统设计与开发。因此,在经济方面,高校图书共享系统的开发是可行的,并且成本相对较低。

3.1.3 操作可行性分析

高校图书共享系统的在开发的时候充分了解用户群体,对于没有学习过计算机的用户也进行考虑在内,在系统的开发中首页有醒目的导航栏,使得即使没有学习过计算机课程的用户,也可以根据导航栏的提示进行操作,非常方便,因此系统在操作上是可行的。

3.2 功能需求分析

(1)图书售卖模块:本高校图书共享系统最主要的功能就是购买,所有系统中需要管理员添加各种图书售卖供用户查询,购买,管理员在此模块主要是对图书售卖的增删改查,游客实现对图书的查询,用户则实现图书售卖的收藏、评论、加购等操作。如下图3-1所示。

3-1 图书售卖模块用例图

2)用户管理模块:在前台游客可以通过注册,然后参与到系统当中,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。如下图3-2所示。

3-2用户管理模块用例图

3)购物管理:用户对喜欢的图书售卖可以进行购买,可以选择立即购买或者加入到购物车中进行购买,如下图3-3所示。

3-3购物车管理模块用例图

4)订单管理:在高校图书共享系统中,用户和管理员都能够管理订单,可以对订单进行查看、删除。如下图3-4所示。

3-4订单管理模块用例图。

(5)校园新闻模块:管理员在后台可以对校园新闻及其分类进行增删改查,游客实现查看校园新闻,用户进行收藏、点赞、评论。如下图3-5所示。

3-5校园新闻模块用例图

3.3 非功能性需求分析

高校图书共享系统的性能性需求分析主要是分析本高校图书共享系统的安全性怎么样(是否会泄露用户个人信息),可靠性怎么样(用户操作的时候是不是能够根据实际操作显示信息),性能怎么样(运行是否操作流畅),可拓展性怎么样(功能能否继续拓展)等。具体可以表示在如下3-1表格中:

3-1 高校图书共享系统非功能需求表

安全性

主要指高校图书共享系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指高校图书共享系统能够按照用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响高校图书共享系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着高校图书共享系统的页面展示内容进行操作,就可以了。

可维护性

高校图书共享系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

4 系统设计

4.1系统体系结构

高校图书共享系统总体的体系结构图分为前端用户体系结构和后端管理员体系结构,其具体结构图如图3-1图3-2和图3-3所示

4.1.1前端用户功能结构图设计

4-2 高校图书共享系统前端功能结构图

4.2.2后端管理员功能结构图设计

4-2 高校图书共享系统后端功能结构图

4.2总体功设计

高校图书共享系统分为前台用户以及后台管理员两个页面,前端由游客/用户进入,用户登录后实现图书售卖的购买,订单的管理等,后端是管理员进行登录,登录以后对高校图书共享系统所有数据进行管理。高校图书共享系统的总体用例图如图4-3所示

4-3 高校图书共享系统功能总体用例图

4.3子模块设计设计

4.3.1系统前端界面

高校图书共享系统的前台是用户进行操作的,主要实现用户对交流论坛以及图书售卖的查看,注册登录以后实现图书售卖的购买以及个人信息、订单的管理。前台普通用户用例图如图3-4所示

4-3 高校图书共享系统前台普通用户用例图

系统前端普通用户的功能包含了图书售卖、图书租赁、网站公告、商城管理、校园新闻、我的账户、个人资讯、登录注册八部分。

1高校图书共享系统主要的功能就是购买,所有在系统中用户可以选择自己喜欢的图书售卖进行加入购物车进行购买,用例说明如下表所示:

4-2 图书售卖用例图

用例名称

图书售卖购买

角色

普通用户

用例说明

用户在前台查看图书售卖,对喜欢的图书售卖进行收藏、评论、立即购买、加入购物车

前置条件

用户登录

后置条件

对图书售卖加入购物车或者立即购买

基本事件流

1、用户通过浏览器进入本高校图书共享系统

2、用户登录到系统当中

3、用户进入图书售卖,选择图书售卖进入详情

4、加入购物车或者立即购买

5、在评论框输入评论内容,点击提交

拓展流程

选择支付方式

异常事件流

1、用户没有登录,需要注册登录后才能操作

2、购买失败需要取消付款

其他

4.3.2系统后端界面

高校图书共享系统的后台是由管理员进行操作的,主要实现管理员对用户管理、资讯管理、公共管理、商城管理、图书租赁、归还记录、租赁记录、图书分类的管理。后台管理员用例图如图4-5所示

4-5 高校图书共享系统后台用户用例图

系统管理员的功能包含了用户管理、资讯管理、公共管理、商城管理、图书租赁、归还记录、租赁记录、图书分类、登录等九部分。

(1)管理员在后台对图书售卖的查询、如果需要添加新的商品,点击添加按钮,输入图书售卖提交,也可以对图书售卖进行修改,删除,查询,用例说明如下表所示:

4-3 图书售卖管理用例图

用例名称

图书售卖管理

角色

管理员用户

用例说明

对系统当中的图书售卖进行增删改查

前置条件

管理员登录

后置条件

基本事件流

1、管理员通过后台登录到系统当中

2、选择购物管理下的图书售卖按钮

3、显示系统当中的所有的图书售卖,可以输入关键词查询

4、选择内容进行增删改查

5、点击提交

拓展流程

异常事件流

输入的图书售卖内容不正确,提示错误信息

其他

4.4 数据库概念结构设计

下面是整个高校图书共享系统中主要的数据库表总E-R实体关系图。

4-6 高校图书共享系统总E-R关系图

4.5  数据库逻辑结构设计

通过上一小节中高校图书共享系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表book_classification (图书分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_classification_id

int

10

0

N

Y

图书分类ID

2

classification_name

varchar

64

0

Y

N

分类名称

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_rental (图书租赁)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_rental_id

int

10

0

N

Y

图书租赁ID

2

book_name

varchar

64

0

Y

N

图书名称

3

book_number

varchar

64

0

Y

N

图书编号

4

cover_photo

varchar

255

0

Y

N

封面照片

5

book_classification

varchar

64

0

Y

N

图书分类

6

author_name

varchar

64

0

Y

N

作者名称

7

publishing_house_name

varchar

64

0

Y

N

出版社名

8

lease_status

varchar

64

0

Y

N

租赁状态

9

rental_expenses

int

10

0

Y

N

0

租赁费用

10

content_validity

text

65535

0

Y

N

内容简介

11

praise_len

int

10

0

N

N

0

点赞数

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表book_sales (图书售卖)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

book_sales_id

int

10

0

N

Y

图书售卖ID

2

sales_account

int

10

0

Y

N

0

售卖账号

3

product_specifications

varchar

64

0

Y

N

商品规格

4

praise_len

int

10

0

N

N

0

点赞数

5

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

6

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

7

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

8

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

9

cart_price

double

8

2

N

N

0.00

卖价:[1]

10

cart_inventory

int

10

0

N

N

0

商品库存

11

cart_type

varchar

64

0

N

N

未分类

商品分类:

12

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

13

cart_img_1

text

65535

0

Y

N

主图1:

14

cart_img_2

text

65535

0

Y

N

主图2:

15

cart_img_3

text

65535

0

Y

N

主图3:

16

cart_img_4

text

65535

0

Y

N

主图4:

17

cart_img_5

text

65535

0

Y

N

主图5:

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (图书租赁)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表lease_records (租赁记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

lease_records_id

int

10

0

N

Y

租赁记录ID

2

rental_account

int

10

0

Y

N

0

租赁账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_identity

varchar

64

0

Y

N

用户身份

5

contact_information

varchar

64

0

Y

N

联系方式

6

book_name

varchar

64

0

Y

N

图书名称

7

book_number

varchar

64

0

Y

N

图书编号

8

lease_status

varchar

64

0

Y

N

租赁状态

9

rental_expenses

varchar

64

0

Y

N

租赁费用

10

lease_days

int

10

0

Y

N

0

租赁天数

11

total_cost

varchar

64

0

Y

N

总计费用

12

lease_time

datetime

19

0

Y

N

租赁时间

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N

审核回复

15

pay_state

varchar

16

0

N

N

未支付

支付状态

16

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表registered_users (注册用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

registered_users_id

int

10

0

N

Y

注册用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_identity

varchar

64

0

Y

N

用户身份

4

user_gender

varchar

64

0

Y

N

用户性别

5

contact_information

varchar

16

0

Y

N

联系方式

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表return_record (归还记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

return_record_id

int

10

0

N

Y

归还记录ID

2

rental_account

int

10

0

Y

N

0

租赁账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

contact_information

varchar

64

0

Y

N

联系方式

5

book_name

varchar

64

0

Y

N

图书名称

6

book_number

varchar

64

0

Y

N

图书编号

7

lease_days

varchar

64

0

Y

N

租赁天数

8

lease_time

datetime

19

0

Y

N

租赁时间

9

return_time

datetime

19

0

Y

N

归还时间

10

return_voucher

text

65535

0

Y

N

归还凭证

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sales_account (售卖账户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sales_account_id

int

10

0

N

Y

售卖账户ID

2

seller_name

varchar

64

0

Y

N

卖家姓名

3

seller_identity

varchar

64

0

Y

N

卖家身份

4

contact_information

varchar

16

0

Y

N

联系方式

5

examine_state

varchar

16

0

N

N

未审核

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5 系统实现

5.1前台用户功能模块

5.1.1 前台首页界面

当进入高校图书共享系统的时候,首先映入眼帘的是系统的导航栏,导航栏下面是轮播图以及公告,其主界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2注册界面

不是高校图书共享系统中正式用户的是可以在线进行注册的,当用户点击“注册”按钮,填写上自己的账号+密码+确认密码+昵称等,再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。其用注册流程图如图5-2所示,注册界面展示如下图5-3所示。

5-2注册流程图

图5-3 前台注册界面图

注册逻辑代码如下:

/**

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

 5.1.3登录界面

高校图书共享系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并通过滑动验证通过后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到高校图书共享系统的首页中;否则将会提示相应错误信息,用户登录流程如图5-4所示,登录界面如下图5-5所示。

5-4 登录流程图

图5-5用户登录界面图

登录的逻辑代码如下所示:

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

5.1.4 校园新闻详情界面

当访客点击高校图书共享系统中导航栏上的“校园新闻”后将会进入到该“校园新闻”列表的界面,然后选择想要看的校园新闻,点击进入到详细界面,同时可以进行点赞、收藏、评论操作,校园新闻详情界面如下图5-6所示。

图5-6校园新闻详情界面

5.1.5 图书售卖详情界面

当访客点击了任意图书售卖后将会进入该款图书售卖的详情界面,可以了解到该图书售卖的图片信息、分类信息、价钱信息等,同时可以对该图书售卖进行收藏、点赞、加购、购买评论,图书售卖详情展示页面如图5-7所示,购买流程图如图5-8所示。

图5-7 图书售卖详情界面图

图5-8购买流程图

5.1.6购物车界面

当用户点击导航栏上的“购物车”菜单后,会出现自己加入购物车的商品列表,在购物管理页面可以对商品删除、修改商品的数量,选择部分或者全选进行购买购物车界面如下图5-9所示

图5-9 购物车界面

5.1.7我的订单界面

当用户点击“我的订单”链接后就进入自己购买的订单的界面展示。界面如下图5-10所示。

图5-10 我的订单界面图

5.1.8图书租赁界面

用户可以查看图书租赁,在查询到自己想要了解的图书租赁的时候,可以进入查看详细的介绍,点击“租赁”这一按钮以后会跳转到租赁信息填写的界面,根据提示填写好租赁的信息,点击“提交”以后租赁就完成了,在图书租赁详情这个界面,同时支持用户对喜欢的图书租赁进行收藏、点赞的功能,图书租赁详情展示页面如图5-11所示,

图5-11 图书租赁界面

5.2管理员功能模块

5.2.1 用户管理界面

高校图书共享系统中的管理人员是可以对前台注册的用户以及售卖账户信息进行管理。用户管理界面如下图5-12所示。

图5-12用户管理界面

用户管理关键代码如下:

public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

5.2.2商城管理界面

在高校图书共享系统中,管理人员具有对平台内发布的商品进行维护和管理的权限,包括增加、删除、修改和查询等操作,界面如下图5-13所示。

图5-13商城管理界面

商城管理关键代码如下:

 @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

5.2.3图书租赁管理界面

管理员点击“图书租赁”菜单能够对其进行删改查还可以管理评论信息图书租赁管理界面如下图5-13所示。

图5-13图书租赁管理界面

图书租赁管理关键代码如下:

 @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

   

5.2.4 租赁记录管理界面

点击“租赁记录”这一按钮后会显示出所有的租赁记录,可以对租赁记录进行添加、修改、删除,也可以按照用户姓名或者图书编号对租赁记录查询,也可以点击“归还、支付”进行归还、支付。界面如下图5-15所示。

图5-15租赁记录管理界面

租赁记录管理关键代码如下:

   @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

5.2.5归还记录管理界面

点击“归还记录”这一按钮后会显示出所有的归还记录,可以对归还记录进行添加、修改、删除,也可以按照用户姓名或者图书编号对租赁记录查询。界面如下图5-16所示。

5-16 归还记录管理界面

6系统的测试

6.1测试的目的

系统的前台、后台数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。

6.2 系统测试用例

系统测试包括:用户登录功能测试、图书售卖展示功能测试、图书售卖添加、图书售卖搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

图书售卖查看功能测试:

表6-2 图书售卖查看功能测试表

用例名称

图书售卖查看

目的

测试图书售卖查看功能

前提

用户登录

测试流程

点击图书售卖列表

预期结果

可以查看到所有图书售卖

实际结果

实际结果与预期结果一致

管理员添加图书售卖界面测试:

表6-3 管理员添加图书售卖界面测试表

用例名称

图书售卖发布测试用例

目的

测试图书售卖发布功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击图书售卖,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的图书售卖 

实际结果

实际结果与预期结果一致

图书售卖搜索功能测试:

表6-4 图书售卖搜索功能测试表

用例名称

图书售卖品搜索测试

目的

测试图书售卖搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字图书售卖

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表6-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.3 系统测试结果

通过编写高校图书共享系统的测试用例,已经检测完毕一上功能模块的测试,通过这4大模块为高校图书共享系统的后期推广运营提供了强力的技术支撑。

结论

在网络环境中,电子商务商业模式在全国范围内得到了广泛的推广,因为人们生活水平不断提升,生活节奏不断加快,使得人们对这一购物模式也有了新的认识。此次研发高校图书共享系统就是在现行电子商务模式下构建,研发旨在为使用者提供新交易环境,本实用新型提升了用户购物体验程度,该系统开发既能实现商品购物,又能实现十分多样化的销售功能。

高校图书共享系统采用开发环境为强大JAVA+MYSQL,大学科目着重研究此中技术,经过学习,熟悉这些技术,并结合系统需求分析,圆满完成本课题设计工作。刚开始收到任务书那一刻起,就更加茫然,什么想法也没有,经老师指点,考察过一些购物系统的有关信息,随着时间的推移,我逐渐整理了思路,开始着手解决问题,明确了系统的具体内容,并对其可行性进行了深入的分析,最终确定了系统的可行性和功能细节,便根据开题初步设计内容不断完善,缓慢补充,研究,终于完成程序编制,同时完成全文。在这个过程中,尽管很辛苦,但是也学到了不少东西,对于项目开发流程有了全新的理解,动手能力有所提高,而这些恰恰是书本上学不到的。

开发完这个项目后,使我颇有建树高度,同时我更关心程序开发,信息技术实在是威力无穷、博大精深,今后我会找到与之有关的作品,并不断地深入研究和发展更好的方案。

参考文献

[1]李昊聪,李喜龙,曹俊鹏等. 基于SSM框架的安全生产费用审核管理系统设计 [J]. 轻工科技, 2024, 40 (02): 87-90.

[2]庄广壬,陈建生,冼永乐等. 基于SSM框架的Restful服务开发方法与装置[P]. 广东省: CN112748908B, 2024-02-27.

[3]袁爱平,陈畅,孙士兵等. 基于SSM框架的高校学生信息管理系统设计与实现 [J]. 工业控制计算机, 2023, 36 (12): 127-129.

[4]刘方磊. 基于SSM框架的旅游大数据分析系统设计与实现 [J]. 中国新技术新产品, 2023, (21): 22-25.

[5]赵进步,袁慧. 基于SSM框架的“云节”系统设计与实现 [J]. 电脑编程技巧与维护, 2023, (10): 90-92.

[6]文臻铭,吴钧皓. 基于SSM框架的电力电缆附件电子商城系统设计与实现 [J]. 工业控制计算机, 2023, 36 (08): 145-146+153.

[7]李亚君. 基于SSM框架的B2C电子商城系统的设计与实现[D]. 合肥工业大学, 2022. DOI:10.27101/d.cnki.ghfgu.2022.000313.

[8]曹意. 基于微信公众号的高校图书馆图书共享服务系统的设计与实现 [J]. 新世纪图书馆, 2021, (04): 64-67.

[9]Kline K . The Java Language Extension for SQL Server Is Now Open Source [J]. Database Trends and Applications, 2020, 34 (4): 31-31.

[10]Spegni F ,Spalazzi L ,Liva G , et al. Verifying temporal specifications of Java programs [J]. Software Quality Journal, 2020, 28 (2): 1-50.

[11]Xin H ,Chaobing Y . Development and application of JAVA language development test evaluation system software [J]. Journal of Computational Methods in Sciences and Engineering, 2020, 20 (4): 1-12.

[12]颜培皓. 基于非负矩阵分解的图书共享系统的研究及应用 [J]. 电脑知识与技术, 2019, 15 (12): 287-290.

[13]苗洁. 基于Java EE的高校图书信息交流与共享系统设计与实现[D]. 电子科技大学, 2019.

[14]陈竞波,杨航,王睿宁等. 基于分享经济理念的高校图书共享平台的设计与实现 [J]. 电子技术与软件工程, 2019, (21): 37.

致谢

通过这样设计与开发这样一个系统,首先向我们老师、同学和朋友表达真诚的感谢。没有指导老师的指导和平日子的教导,我也不能够学到如此多的专业知识。另外,也佩服老师兢兢业业的工作态度,给我们做好了表率。系统开发技术要学习的东西很多,前台框架、后台框架、业务流程、数据结构、操作系统等各种知识非常的丰富,都需要慢慢的专研。在这里,首先感谢老师细心的教导,我只想说一句:“老师,谢谢您,您辛苦了!有您在,大学生活才更加的充实。”另外,我要感谢我的室友,由于知识掌握得不够产生各种问题,正因为有了你们的帮忙,给我提出很多很好的建议,才能更好的解决系统开发问题。同时,我也应该感谢那些计算机专业的先哲们,正是由于有这么一群人,才能把这样的专业研究得如此透彻,才能助力新世界的诞生。你们的理论,是我们一生学习的内容,你们的成就,是我们一生追求的目标。

最后,也希望自己在未来的道路上能够走得更远,不辜负在大学的学习,以及老师们的细致的教导。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值