校园捐赠系统是一种便捷的平台,为校园内的各种慈善活动提供支持和便利。通过该系统,学生、教职员工和校友可以方便地进行捐赠,并了解到相关的项目信息和捐助情况。本文将介绍一个基于Java后端和MySQL数据库的校园捐赠系统的设计与实现。
技术架构概述
该校园捐赠系统采用了经典的三层架构:前端展示层、后端逻辑层和数据库存储层。前端使用HTML、CSS和JavaScript实现,后端采用Java语言开发,使用Spring框架进行搭建,数据库选择MySQL。
功能列表和流程图
数据库表的设计
-
用户表(User):存储用户的基本信息,如用户ID、用户名、密码、昵称、手机号等。
字段 类型 描述 user_id INT 用户ID(主键) username VARCHAR(50) 用户名 password VARCHAR(100) 密码(加密存储) nickname VARCHAR(50) 昵称 phone VARCHAR(20) 手机号 created_at TIMESTAMP 创建时间 updated_at TIMESTAMP 更新时间 -
捐赠项目表(Donation_Project):存储捐赠项目的信息,如项目ID、项目名称、描述、目标金额等。
字段 类型 描述 project_id INT 项目ID(主键) project_name VARCHAR(100) 项目名称 description TEXT 项目描述 target_amount DECIMAL(10,2) 目标金额 start_date DATE 开始日期 end_date DATE 结束日期 created_by INT 创建者用户ID created_at TIMESTAMP 创建时间 updated_at TIMESTAMP 更新时间 -
捐赠记录表(Donation_Record):存储用户的捐赠记录,包括捐赠ID、用户ID、项目ID、捐赠数量等。
字段 类型 描述 donation_id INT 捐赠ID(主键) user_id INT 用户ID(外键) project_id INT 项目ID(外键) donation_qty INT 捐赠数量 donation_date TIMESTAMP 捐赠时间 -
捐赠物品表(Donation_Item):如果捐赠是实物捐赠,则存储捐赠物品的信息,如物品ID、物品名称、描述等。
字段 类型 描述 item_id INT 物品ID(主键) item_name VARCHAR(100) 物品名称 description TEXT 物品描述 created_at TIMESTAMP 创建时间 updated_at TIMESTAMP 更新时间