基于springboot+vue实现的乐享田园系统 (源码+L文+ppt)4-080
4.3 系统结构设计
构图是系统的体系结构,体系结构是体系结构体系的重要组成部分。系统的总体结构设计如图4-2所示。
图4-2 系统总体架构图
4.4 数据库设计
4.4.1 数据库设计原则
在数据库设计过程中应该充分考虑以下几点:
1.尽最大的可能满足乐享田园系统目前的需求,这是数据库设计的基石;
2.需要分清主次,让数据结构一目了然;
3.需要保持适当的冗余,用来维持系统的良好的性能;
4.可以应对日趋壮大的数据量;
5.可以应对可能出现的新需求。
4.4.2 E-R图设计
E-R图(Entity Relationship Diagram)是指用来表现数据库中实现实际世界建模的数据库概念模型。本系统将"种植技术、农民、收藏、系统简介、农民建议、用地信息评论"等作为实体,它们的局部E-R图,如图4-3所示:
图4-3局部E-R图
4.4.3 数据库表设计 (共16张表)
数据库表的设计是本系统开发里最不可忽视的环节,乐享田园系统各个表的设计结果如下:
表4-1:种植技术
|-----------------|-----------|------------|------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| jishumingcheng | varchar | 200 | 技术名称 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| jishufenlei | varchar | 200 | 技术分类 | | |
| nanyidu | varchar | 200 | 难易度 | | |
| jiaoxueshipin | longtext | 4294967295 | 教学视频 | | |
| jinengxiangqing | longtext | 4294967295 | 技能详情 | | |
| fabushijian | datetime | | 发布时间 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| discussnum | int | | 评论数 | | 0 |
| storeupnum | int | | 收藏数 | | 0 |
表4-2:农民
|------------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| nongminzhanghao | varchar | 200 | 农民账号 | | |
| mima | varchar | 200 | 密码 | | |
| nongminxingming | varchar | 200 | 农民姓名 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| xingbie | varchar | 200 | 性别 | | |
| shenfenzheng | varchar | 200 | 身份证 | | |
| lianxifangshi | varchar | 200 | 联系方式 | | |
| status | int | | 状态 | | 0 |
| passwordwrongnum | int | | 密码错误次数 | | 0 |
此处省略14张表。。。
表4-16:租户
|------------------|-----------|------------|--------|----|-------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_TIMESTAMP |
| zuhuzhanghao | varchar | 200 | 租户账号 | | |
| mima | varchar | 200 | 密码 | | |
| zuhuxingming | varchar | 200 | 租户姓名 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| xingbie | varchar | 200 | 性别 | | |
| lianxidianhua | varchar | 200 | 联系电话 | | |
| status | int | | 状态 | | 0 |
| passwordwrongnum | int | | 密码错误次数 | | 0 |
第5章 系统的实现
5.1 前台功能实现
5.1.1 系统首页页面
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如账号、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:
图5-2系统注册页面
用地信息:在用地信息页面的输入栏中输入土地名称、承包价格和土地位置进行查询,可以查看到用地详细信息,并根据需要进行土地承包、评论或收藏操作;用地信息页面如图5-3所示:
图5-3用地信息详细页面
种植技术:在种植技术页面的输入栏中输入技术名称、封面、技术分类和难易度进行查询,可以查看到种植技术详细信息,并根据需要进行点赞、评论或收藏操作;种植技术页面如图5-4所示:
图5-4种植技术详细页面
5.1.2 个人中心
个人中心:在个人中心页面可以对个人中心,修改密码,土地承包,我的收藏进行详细操作;个人中心页面如图5-5所示:
图5-5个人中心界面
5.2 后台功能模块实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。后台登录界面图5-6所示。
图5-6 后台登录界面
5.2.1 管理员功能实现
管理员进入主页面,主要功能包括对农民管理,用户管理,土地类型管理,用地信息管理,土地承包管理,种植技术管理,农民建议,系统管理,我的信息等功能进行操作。管理员主页面如图5-7所示:
图5-7 管理员主界面
用户功能在视图层(view层)进行交互,比如点击"搜索、新增或删除"按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如:详情、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。用户管理界面如图5-8所示:
图5-8用户管理界面
用地信息功能在视图层(view层)进行交互,比如点击"搜索、新增或删除"按钮或填写用地信息表单。这些用地信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如:查看、修改、查看评论或删除用地信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用地信息功能可以看到最新的信息或相应的操作反馈。用地信息管理界面如图5-9所示:
图5-9用地信息管理界面
种植技术功能在视图层(view层)进行交互,比如点击"搜索、新增或删除"按钮或填写种植技术表单。这些种植技术表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如:详情、修改、查看评论或删除种植技术,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便种植技术功能可以看到最新的信息或相应的操作反馈。种植技术管理界面如图5-10所示:
图5-10种植技术管理界面
5.2.2 用户功能实现
用户进入主页面,主要功能包括对用地信息管理,土地承包管理,种植技术管理,系统管理,我的信息等功能进行操作。用户主页面如图5-11所示:
图5-11 用户主界面
用地信息功能在视图层(view层)进行交互,比如点击"搜索、新增或删除"按钮或填写用地信息表单。这些用地信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如:查看、修改、查看评论或删除用地信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用地信息功能可以看到最新的信息或相应的操作反馈。用地信息管理界面如图5-12所示:
图5-12用地信息管理界面
种植技术功能在视图层(view层)进行交互,比如点击"搜索、新增或删除"按钮或填写种植技术表单。这些种植技术表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如:详情、修改、查看评论或删除种植技术,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便种植技术功能可以看到最新的信息或相应的操作反馈。种植技术管理界面如图5-13所示:
图5-13种植技术管理界面