64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# students模块解释
|
||
|
||
## 项目层:
|
||
web框架:FastAPI(自动生成接口)
|
||
ORM:sqlalchemy
|
||
校验:pydantic
|
||
数据库:MYSQL(通过 PyMysql 驱动)
|
||
运行:uvicorn,端口暂定52000
|
||
|
||
总结:用 FastAPI 暴露一组 HTTP 接口
|
||
, 对 MySQL 里的一张 `students` 表做**增、删、改、查**
|
||
, 其中删除是**逻辑删除(软删除)**
|
||
, 数据不会被真正抹掉。
|
||
|
||
项目根目录是`main.py`是程序入口,而`students/`是一个
|
||
|
||
## main:学生管理系统的主程序文件、测试接口
|
||
1. 下面所有配置文件的接口全部导入并建表
|
||
2. 创建fastapi接口并本地运行
|
||
|
||
## databases:链接数据库配置文件
|
||
1. 链接本地mysql,实例化mysql,创建引擎,创建基类,实例化数据库会话
|
||
2. 创建函数,调用数据库会话
|
||
|
||
## api.students_api:接口文件
|
||
### 学生表students的功能接口:
|
||
1. 学生信息的查询
|
||
2. 学生信息的新增
|
||
3. 学生信息的更新
|
||
4. 学生信息的逻辑删除
|
||
|
||
## dao.students_dao:数据筛选文件
|
||
### 数据库的逻辑筛选文件:
|
||
1. 查询:get_student_dao
|
||
2. 新增:add_student_dao
|
||
3. 更新:update_student_dao
|
||
4. 逻辑删除:delete_student_dao
|
||
|
||
## model.students_model:数据库建表文件
|
||
1. 数据表建表代码
|
||
2. 字段信息: sid **PK**
|
||
, student_name
|
||
, student_phone
|
||
, class_name
|
||
, job_open_time
|
||
, offer_issue_time
|
||
, company_name
|
||
, salary
|
||
, create_date
|
||
, update_date
|
||
, is_deleted
|
||
, deleted_date
|
||
, **待建FK:** class_id/teacher_id/score_id/company_id/
|
||
|
||
|
||
## schema.students_request:请求体、数据过滤
|
||
请求体根据业务要求有不同调整,方便后续维护和更改需求
|
||
1. 查询:StudentsQuery
|
||
2. 新增:StudentsResponse
|
||
3. 更新:StudentsUpdate
|
||
4. 逻辑删除:StudentsDelete
|
||
|
||
|