马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
目录
一、实验目标:
二、实验要求:
三、实验装备:
四、实验内容
一、数据库设计
二、MySQL实现
(一)按计划费用评级的慈善机构
(二)按请求类别分类的捐助者
(三)慈善机构的捐助者
(四)捐赠者捐赠频率
(五)匹配礼物
(六)添加/更新 慈善机构/捐赠者
(七)实现触发器+日志界面
(八)异常显示消息提示
(九)实现捐赠&记录功能
(十)整合页面
五.题目分析
六.实验心得
一、实验目标:
1、相识数据库设计;
2、掌握存储过程、函数、触发器的实现。
二、实验要求:
1、安装相关软件并欣赏软件自带的资助文件和功能菜单,
2、掌握PHP构建网页以及连接数据库的方法。
3、掌握phpmyadmin创建数据库与数据表的方法;
4、相识mysql的命令以及与php衔接的语句
5、掌握存储过程、函数的实现
6、掌握触发器的实现;
三、实验装备:
计算机、数据库管理系统如php,mysql 等软件。
四、实验内容
按要求完成individual project的数据库设计,MySQL Implementation 和Interface,可以按照自己的思绪拓展功能。
本系统接纳springboot+mybatis+web三件套(html、css、js)开辟实现。
一、数据库设计
1.新建数据库,命名为charity_db,再新建管理员表,然后插入两条数据。
2.新建慈善机构表agency_tb后插入数据。
3.新建捐赠者donor_tb表,并插入数据。
4.新建捐赠gift_tb表并插入数据。
5.新建user_tb表,并插入数据。
6.新建info_tb表,并插入数据
7.新建log_tb表。
8.实现登录接口,会根据登录账号为管理员或者用户的举行跳转不同的页面。
9.实现登陆前端界面,以及响应。
二、MySQL实现
(一)按计划费用评级的慈善机构
1.实现sql语句。
2.实现后端接口。首先实现AgencyController类。
3实现AgencyMapper代理层。
4.实现业务层接口和实现类。
5.测试接口,发现成功返回数据。
6.实现agencyOrder.html。
7.启动后端服务器,访问页面如下图所示。
(二)按请求类别分类的捐助者
1. 创建按请求类别分列的捐助者查询。
2. 调用按请求类别分列的捐助者查询。
3.发现可以正确输出结果。
4.建立实体类Donor。
5.建立DonorController类。
6.建立DonorMapper接口。
7.建立DonorService接口
8.实现业务层类DonorServiceImpl 。
9.实现前端页面DonorByCategory.html。
10.启动服务器,打开页面,如下图所示。
11.输入类别,如下图所示,若不存在类别则会提示。
(三)慈善机构的捐助者
1.分析sql语句,如下图所示。
2检察gift_tb表和donor_tb表和agency_tb表,可知结果正确。
3.实现实体类CharityDonor。
4.实现控制层方法。
5.实当代理层方法。
6.实现业务层方法。
7.测试接口,发现成功返回数据。
8.实现前端页面DonorByCharity.html。
9.启动服务器,打开页面。
10.输入慈善机构ID举行查询,若不存在会输出提示。
(四)捐赠者捐赠频率
1.实现sql语句,如下图所示。
2.检察donor_tb表和gift_tb表,可知查询结果正确。
3.实现实体类DonationFrequency。
4.实现controller层方法。
5.实现业务层方法。
6.实现数据层方法。
7.测试接口,发现成功获取数据。
8.实现前端界面donorFrequency.html。
9.启动服务器,界面如图所示。
(五)匹配礼物
1.标题是:创建一个名为“匹配礼物”的查询,显示慈善机构名称、日期和金额,然后计算匹配金额和捐赠总额。 回想一下,一位匿名捐助者乐意为“饥饿救济食品”慈善机构每捐赠 1 美元,捐出 50 美分。
我的明白是,先看gift_tb表。对于每一笔捐赠记录,捐款金额为amount,有某个好心人乐意再捐出0.5倍的amount,那么总金额就是1.5倍的amount,当然,因为标题叫“匹配礼物”,因此只对特定慈善机构举行善意的捐助,至于是哪个机构就要看用户输入了。
2.实现sql语句
3.实现实体类MatchGift。
4.实现控制层方法。
5.实现数据层方法。
6.实现业务层方法。
7.测试接口,成功得到数据。
8.实现前端页面MatchGift.html。
9.启动服务器,运行界面如下图所示。
(六)添加/更新慈善机构/捐赠者
1.这个分为两个部分,一个是管理慈善机构,一个是管理捐赠者。依据题意是,输入数据,假如数据(捐赠者或慈善机构)不存在,则将其插入表中,否则仅更新。
2.首先实现实体类AgencyAll和DonorAll。
3.实现两边的控制层方法。
4.实现两边的数据层方法。
5.实现两边的业务层方法。
6.测试管理接口,发现返回数据成功。
7.观察agency_tb,刷新后数据确实增加了。
8.观察donor_tb,刷新后数据确实增加了。
9.实现前端界面agencyChange.html。
10.启动服务器,打开网页如下图所示。
11.刷新表,发现操纵成功。
(七)实现触发器+日志界面
1.实现触发器,以插入、更新和删除 agency_tb 表为例。
2.删除agecy_tb一条数据后观察log_tb表,发现log_tb表记录成功,其它表同理。
3.检察所有触发器,如下图所示。
4.确定查询的sql语句。
5.实现实体类OperationLog。
6.实现控制层方法。
7.实现数据层方法。
8.实现业务层方法。
9.测试接口,获取数据成功。
10.实现前端界面log.html。
11.启动服务器,打开网页,如图所示。
(八)异常显示消息提示
1.登录失败时提示。
2. 按请求类别分类的捐助者,查询失败时提示。
3. 慈善机构的捐助者,查询失败时提示。
4. 匹配礼物,失败时提示。
(九)实现捐赠&记录功能
1.思量到用户有在捐赠的需求,因此再添加一个捐赠功能,用户通过输入捐赠者id和慈善机构id和金额即可成功举行捐赠,然后显现自己的所有捐款记录。
sql语句如下,先将gift_id设为自增,且幅度为1,然后插入数据:
- alter table gift_tb
- modify gift_id int auto_increment;
- alter table gift_tb
- auto_increment = 1;
- INSERT INTO gift_tb (donor_id, agency_id, donation_date, amount)
- VALUES (4, 1006, NOW(),10000);
复制代码
2.检察表格发现插入成功。
3. 显现特定人的所有捐款记录,sql语句如下:
4.实现实体类ToGift吸取数据。
5.实现实体类Gift返回数据。
6.实现控制层方法。
7.实现数据层方法。
8.实现业务层方法。
9.测试接口,成功实现功能。
10.实现前端界面toGift.html。
11.启动服务器,打开页面如下所示。
(十)整合页面
1.现在有的页面包括:登录、按计划费用评级的慈善机构、按请求类别分类的捐助者、慈善机构的捐助者、捐赠者捐赠频率、匹配礼物、添加/更新慈善机构、添加/更新捐赠者、操纵日志、捐赠&记录。
使用慈善管理系统的人有两种身份,一个是管理员、一个是平凡用户。管理员是可以看到所有的页面的,但是平凡用户能看到的页面只有如下:登录、按计划费用评级的慈善机构、匹配礼物、捐赠&记录。
因此,必要根据登录者的身份来决定其跳转的主页。然后主页再对应上各自能跳转的界面的按钮,以及退出登录的功能。
2.实现管理员主页managerHome.html。
3.实现平凡用户主页userHome.html。
4.在登录时,存储使用者的账号和身份,并根据身份跳转到不同的主页。
5.更新各个页面返回主页按钮的逻辑,会根据使用者身份跳转到不同的主页。
五.题目分析
1.gift_tb插入数据失败.
分析:表的字段绑定了外键,插入的数据中,这几个的数据一定要存在,如下更改后插入成功。
2.接口测试发生错误。
分析:对应关系发生错误,因为只有一个对象,但是查到的数据有32条。按如下修改即可。
六.实验心得
通过此次试验,学会了以下几个紧张的方面:
数据库设计与操纵: 通过创建管理员表、慈善机构表、捐赠者表等,以及执行插入、更新、查询等数据库操纵,熟悉了数据库的设计和基本操纵。
Spring Boot 的使用: 在实现登录功能的过程中,使用了 Spring Boot 框架,学会了如何创建 RESTful 接口、处理请求和返反响应,以及如何与数据库交互。
MyBatis 框架: 通过使用 MyBatis 框架,相识了如何举行数据库的恒久层操纵,包括使用注解举行 SQL 查询、插入和更新。
前端页面设计: 在实现前端页面时,学会了如何使用 HTML 和 CSS 举行页面结构和样式设计,以及如何通过 JavaScript 处理用户交互。
身份验证与权限管理: 在实现管理员和平凡用户身份的区分以及相应权限管理方面,掌握了一些基本的前后端交互和权限判定的方法。
错误处理与日志记录: 学会了如那里理可能发生的错误,包括在前端举行用户友爱的提示,以及在后端通过日志记录举行题目追踪。
实际题目办理: 通过办理,进步了在实际开辟中办理题目标能力,包括数据库表设计、SQL 查询语句的编写、前端页面的设计和调试等方面。
(by 归忆)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |