【源码论文】基于SSM的图书馆自习室订座系统JAVA.JSP

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,帮你完成文档

⚠️文末联系方式获取完整资料⚠️

 

4 系统设计

4.1软件体系结构设计

4.1.1 功能结构

根据需求调研结果确定本系统主要包括以下功能模块,如图4.1所示。

图4.1系统功能结构图

4.1.2 系统架构

系统架构图如图4.2所示。

图4.2 系统架构图

4.2数据库设计

4.2.1 概念结构设计

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

管理员信息实体图如图4-2所示:

图4-2管理员信息实体图

用户信息实体图如图4-3所示:

图4-3用户信息实体图

自习室实体图如图4-4所示:

图4-4自习室实体图

座位信息实体图如图4-5所示:

图4-5座位信息实体图

4.2.2 表的详细设计

根据上诉的逻辑模型设计,下面给出物理模型的设计,如下表:

表4-1:自习室表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

bianhao

varchar

200

编号

mingcheng

varchar

200

名称

tupian

varchar

200

图片

guimo

varchar

200

规模

zuoweishuliang

varchar

200

座位数量

zhuangtai

varchar

200

状态

shiyongjieduan

varchar

200

使用阶段

kaifangshijian

varchar

200

开放时间

xiangqing

varchar

200

详情

0

表4-2:管理员信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

timestamp

创建时间

password

varchar

200

租户账号

role

varchar

200

租户姓名

addtime

varchar

200

密码

表4-3:座位信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

weizhibianhao

varchar

200

位置编号

tupian

varchar

200

图片

zuoweizhuangtai

varchar

200

座位状态

zaixianrenshu

varchar

200

在线人数

shuliang

varchar

200

数量

xiangqing

varchar

200

详情

表4-4:用户信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

int

用户姓名

mima

longtext

密码

xingbie

varchar

200

性别

touxiang

varchar

200

头像

zhuanye

varchar

200

专业

dianhuahaoma

varchar

200

电话号码

email

varchar

200

邮箱

表4-5:座位预定表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

yuyuebianhao

bigint

座位预定编号

weizhibianhao

varchar

200

位置编号

yudingshijian

varchar

200

预定时间

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

dianhuahaoma

varchar

200

电话号码

beizhu

varchar

200

备注

sfsh

varchar

200

是否审核

shhf

varchar

200

审核回复

表4-6:公告信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

title

varchar

200

标题

introduction

longtext

4

简介

picture

varchar

200

图片

content

longtext

内容

表4-7:馆长表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

guanzhangzhanghao

bigint

馆长账号

guanzhangxingming

bigint

馆长姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

dianhuahaoma

varchar

200

电话号码

touxiang

varchar

200

头像

1

表4-8:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

5 系统实现

图书馆自习室订座系统主要设计了三个角色用户,前台用户模块和后台管理员模块,主要实现的功能有,前台用户的注册,登录,用户的浏览公告,浏览网站首页,座位信息,公告信息,用户个人信息的管理,馆长可以管理自习室,统计数据分析等。后端管理员可以管理用户信息,管理自习室预定,管理用户信用分,管理公告信息等。

5.1核心功能实现

在图书馆自习室订座系统中,核心业务用例的实现效果如下所示。受篇幅所限,将只会介绍自习室,座位预订,座位信息相关的三个模块核心功能。

5.1.1用户浏览公告模块实现

用户登录网站之后,浏览公告信息,选择一个公告,点击进入详情页面,点击按钮,可以查看公告信息操作,将公告信息发送到控制层,采用 request发送异步请求,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行插入并返回结果,实现效果如图5.1所示。

图5.1 用户浏览公告功能实现效果图

该模块控制层主要代码:

@RequestMapping("cartadd")

public String addcart(Model model){

List<Product> product= productService.list("");

// 放入转发参数

model.addAttribute("product", product);

return "pages/cart/cartadd";

}

//添加数据

@RequestMapping("cartinsert")

public String insertCart(Cart cart,Model model){

String forword=request.getParameter("forword");

String w=" and uname='"+request.getParameter("uname")+"' and product="+cart.getProduct();

List<Cart> cs= cartService.list(w);

String addtime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());

if (cs.size()>0)

{//nums

//cart.setNums(cart.getNums());

//cartService.update(cart);

}

else

{

cartService.insert(cart);

model.addAttribute("msg","成功");

}

model.addAttribute("path",forword);

return "success";

} }

5.1.2管理人员添加自习室功能模块

管理人员对自习室进行添加操作,采用request发送异步请求将自习室信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图5.2所示。

图5.2 管理人员添加自习室实现效果图

该模块控制层主要代码:

@RequestMapping("productadd")

public String addproduct(Model model) {

List<Fenlei> fenlei = fenleiService.list("");

// 放入转发参数

model.addAttribute("fenlei", fenlei);

return "pages/product/productadd";

}

// 添加数据

@RequestMapping("productinsert")

public String insertProduct(Product product, Model model) {

String forword = request.getParameter("forword");

productService.insert(product);

model.addAttribute("msg", "成功");

model.addAttribute("path", forword);

return "success";

}

}

5.1.3管理人员添加座位信息功能模块

管理人员对座位信息进行添加操作,采用request发送异步请求将座位信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图5.3所示。

图5.3 管理人员添加座位功能实现效果图

该模块控制层主要代码:

@RequestMapping("fenleiadd")

public String addfenlei(Model model){

return "pages/fenlei/fenleiadd";

}

//添加数据

@RequestMapping("fenleiinsert")

public String insertFenlei(Fenlei fenlei,Model model){

String forword=request.getParameter("forword");

String w=" and name='"+request.getParameter("name")+"'";

List<Fenlei> cs= fenleiService.list(w);

if (cs.size()>0)

{

model.addAttribute("msg","名称重复!请重试");

}

else{

fenleiService.insert(fenlei);

model.addAttribute("msg","成功");

}

model.addAttribute("path",forword);

return "success";

} }

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

🔎千套JAVA实战项目持续更新中~

🔎上百套小程序实战项目持续更新中~

🔎上百套Python实战项目持续更新中

👇下方有我的微信名片👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值