基于springboot+vue+mysql框架开发的景区民宿预约系统的设计与实现(源码+论文)
一、开发环境
景区民宿预约系统的开发需要搭建编程环境,并选取适合本系统开发的技术与工具。
MYSQL数据库
本课题需要数据库作为数据管理工具和数据载体。从程序功能分析到数据分析,选择合适的关系型数据库是重要环节。可供选择的关系型数据库功能差异不大,都能实现应用程序功能所需。考虑到开发使用的电脑硬件性能有限,为选择适合老旧笔记本电脑学习开发的数据库,最终选用MySQL数据库。MySQL数据库体积小、占用内存小,不影响其他软件运行,且无需重装系统进行安装维护。
Tomcat介绍
Tomcat严格来说不算是服务器,可称为vue引擎或容器,但实际工作中常作为web服务器使用,适用于中小型企业和并发量不突出的轻量级服务器场景。Tomcat里面可以配置多个网站,配置文件后缀是config的文档,类似于XML结构。每当Java发布新版本时,Tomcat也会升级,目前版本已到10。Tomcat标识是一只发黄的小猫咪,配置成功测试时能看到则表示成功,可进行下一步配置。
vue技术
vue技术能让初学者尽快上手编写动态网站,无需成为高级Java编程人员即可书写代码,提升了学习和编写效率。它使网页开发者与后台逻辑开发者能分离合作开发,降低了学习成本。vue结构主要分为专属的vue引擎和web服务器两部分,二者需配合协作。Tomcat可作为vue引擎和web服务器(Tomcat也有Apache静态解释代码部分),但二者是不同工具,文件系统目录也不同,如有特殊需求可特殊配置。vue引擎可运行纯HTML编写的网站和vue编写的动态网站,功能比纯web服务器强大。
SpringBoot框架
Java一直被诟病臃肿、麻烦,搭建项目耗时较长,原因主要有两点:一是复杂的配置,项目各种配置是开发时的损耗,需要在思考Spring特性配置和解决业务问题之间切换思维,挤占了写应用程序逻辑的时间;二是混乱的依赖管理,项目依赖管理吃力不讨好,决定项目用哪些库已让人头痛,还要考虑库的版本兼容性问题,一旦选错版本,不兼容问题会严重影响生产力。而SpringBoot让这些问题成为过去,它简化了基于Spring的应用开发,只需“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置,多数Spring Boot应用只需很少的Spring配置。可使用SpringBoot创建java应用,并用java --jar启动,得到一个生产级别的web工程。
二 系统设计
市面上设计较好的系统主题鲜明突出,通过简洁清晰的页面布局,让内容清晰表达主题,使用户无需花费过多精力寻找所需内容。
界面设计原则
用户使用系统有的为获取信息,有的为使用系统服务。为改善用户体验、提高系统使用率,系统界面设计需遵循以下原则:
- 分析用户,了解使用目的和方式,考虑阅读习惯,设计Z字形或F型结构方便用户获取信息。
- 设计有效导航,每个页面显示导航条,可在页面底部也设计导航条,具体页面设置位置提示,特殊位置设计返回链接。
- 统一设计方案,包括色彩方案、页面模板、操作和专业术语描述等。
- 保证传达内容清晰准确,避免页面内容过多,准确分类系统内容,在用户视觉集中位置显示重要信息。
功能结构设计
为使系统编码顺利进行,对本系统功能进行细分设计,系统功能结构图如下:
数据库设计
开发系统需提前设计数据库,数据库是相关数据的集合,按一定组织方式存储,具有数据冗余率低的优势,与程序保持较高独立性。数据库经历了长期发展,技术成熟,理论基础坚实。
数据库概念设计
借助数据库关系图(如E-R图)完成数据库概念设计,可使用Visio工具绘制。设计数据库需按流程进行,先确定实体,分析实体特征和实体间关联关系,最后用E-R模型表示。矩形代表实体,菱形表示实体间关系,椭圆表示实体属性,用直线连接。本系统E-R图绘制如下:
-
用户实体属性图
-
字典表实体属性图
-
房间信息实体属性图
-
景点预约实体属性图
-
景点反馈实体属性图
-
美食反馈实体属性图
-
公告实体属性图
-
工作记录实体属性图
-
房间反馈实体属性图
-
工作人员实体属性图
-
房间预约实体属性图
-
景点信息实体属性图
-
美食信息实体属性图
-
用户表实体属性图
-
美食预约实体属性图
数据库表设计
- 字典表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 房间信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | fangjian_name | String | 房间名称 | 是 |
3 | fangjian_photo | String | 房间图片 | 是 |
4 | fangjian_tese | String | 房间特色 | 是 |
5 | fangjian_peizhi | String | 房间配置 | 是 |
6 | fangjian_money | BigDecimal | 价格(天) | 是 |
7 | fangjian_types | Integer | 房间类型 | 是 |
8 | fangjian_number | Integer | 房间剩余数量 | 是 |
9 | fangjian_clicknum | Integer | 点击次数 | 是 |
10 | fangjian_content | String | 房间详情 | 是 |
11 | create_time | Date | 创建时间 | 是 |
- 房间反馈表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | fangjian_id | Integer | 房间 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | fangjian_liuyan_text | String | 反馈内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 反馈时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 房间预约表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | fangjian_id | Integer | 房间 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | fnagjian_yuye_time | Date | 预约日期 | 是 |
5 | fnagjian_yuye_text | String | 预约备注 | 是 |
6 | fnagjian_tiwen | BigDecimal | 近期体温 | 是 |
7 | fnagjian_text | String | 近期行程 | 是 |
8 | fnagjian_yuye_yesno_types | Integer | 审核结果 | 是 |
9 | fnagjian_yuye_yesno_text | String | 审核反馈 | 是 |
10 | create_time | Date | 创建时间 | 是 |
- 工作记录表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | gongzuorenyuan_id | Integer | 工作人员 | 是 |
3 | gongzuorenyuan_tiwen | BigDecimal | 体温 | 是 |
4 | insert_time | Date | 添加时间 | 是 |
5 | gongzuorenyuan_text | String | 工作记录 | 是 |
6 | gongzuorenyuan_delete | Integer | 假删 | 是 |
7 | create_time | Date | 创建时间 | 是 |
- 工作人员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | gongzuorenyuan_uuid_number | String | 工号 | 是 |
3 | gongzuorenyuan_name | String | 工作人员姓名 | 是 |
4 | gongzuorenyuan_photo | String | 头像 | 是 |
5 | gongzuorenyuan_phone | String | 联系方式 | 是 |
6 | gongzuorenyuan_email | String | 邮箱 | 是 |
7 | gongzuorenyuan_delete | Integer | 假删 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 景点信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_name | String | 景点名称 | 是 |
3 | jingdian_photo | String | 景点图片 | 是 |
4 | jingdian_types | Integer | 景点类型 | 是 |
5 | jingdian_money | BigDecimal | 景点价格 | 是 |
6 | jingdian_number | Integer | 景点数量 | 是 |
7 | jingdian_clicknum | Integer | 点击次数 | 是 |
8 | jingdian_content | String | 景点详情 | 是 |
9 | create_time | Date | 创建时间 | 是 |
- 景点反馈表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_liuyan_text | String | 反馈内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 反馈时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 景点预约表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_yuye_time | Date | 预约日期 | 是 |
5 | jingdian_yuye_text | String | 预约备注 | 是 |
6 | jingdian_yuye_yesno_types | Integer | 审核结果 | 是 |
7 | jingdian_yuye_yesno_text | String | 审核反馈 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 美食信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_name | String | 美食名称 | 是 |
3 | meishi_photo | String | 美食图片 | 是 |
4 | meishi_types | Integer | 美食类型 | 是 |
5 | meishi_number | Integer | 美食数量 | 是 |
6 | meishi_money | BigDecimal | 价格 | 是 |
7 | meishi_clicknum | Integer | 点击次数 | 是 |
8 | meishi_content | String | 美食详情 | 是 |
9 | create_time | Date | 创建时间 | 是 |
- 美食反馈表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_id | Integer | 美食 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | meishi_liuyan_text | String | 反馈内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 反馈时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 美食预约表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_id | Integer | 美食 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | meishi_yuye_time | Date | 预约日期 | 是 |
5 | meishi_yuye_text | String | 预约备注 | 是 |
6 | meishi_yuye_yesno_types | Integer | 审核结果 | 是 |
7 | meishi_yuye_yesno_text | String | 审核反馈 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | news_name | String | 公告标题 | 是 |
3 | news_types | Integer | 公告类型 | 是 |
4 | news_photo | String | 公告图片 | 是 |
5 | insert_time | Date | 公告时间 | 是 |
6 | news_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
- 用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 用户姓名 | 是 |
3 | yonghu_photo | String | 头像 | 是 |
4 | yonghu_phone | String | 联系方式 | 是 |
5 | yonghu_id_number | String | 用户身份证号 | 是 |
6 | yonghu_email | String | 邮箱 | 是 |
7 | yonghu_delete | Integer | 假删 | 是 |
8 | create_time | Date | 创建时间 | 是 |
- 用户表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
三、系统实现
1 用户信息管理
用户信息管理页面提供给管理员的功能包括:用户信息的查询管理,可删除、修改、新增用户信息,还支持对用户名称的模糊查询。
图1 用户信息管理页面
2 房间信息管理
房间信息管理页面提供给管理员的功能有:查看已发布的房间信息数据,修改房间信息,删除房间信息(作废),支持对房间信息名称的模糊查询和房间信息类型的查询等。
图2 房间信息管理页面
3 景点信息管理
景点信息管理页面提供给管理员的功能包括:根据景点信息进行条件查询,还可对景点信息进行新增、修改、查询等操作。
图3 景点信息管理页面
4 公告信息管理
公告信息管理页面提供给管理员的功能有:根据公告信息进行新增、修改、查询等操作。
图4 公告信息管理页面
源码+论文下载>>