CRUD 里程碑
checkpoint-simple-crud-apps;Spring Boot + PG。
CRUD 里程碑
CRUD(Create、Read、Update、Delete)是 Web 与 API 的四种基本数据操作。全栈路线图 checkpoint-simple-crud-apps 要求:在尚未系统学习 REST 的情况下,也能用 命令行程序 + 数据库 完成完整的数据生命周期。这与 spring-boot-essentials 后期的 REST CRUD 互补——这里刻意 不启动 HTTP 服务器,专注 SQL、事务与 CLI 参数设计。
学习目标
- 对照 /roadmaps/full-stack 的 checkpoint-simple-crud-apps,实现带
--new/--list/--done/--delete的 Todo CLI - 用 PostgreSQL(或 MySQL)持久化数据,理解连接串、迁移与唯一约束
- 说清本里程碑与 fullstack-roadmap CRUD 节点、spring-boot-essentials JPA 课的分工
路线图要求回顾
官方 Checkpoint 建议实现 CLI Todo,支持:
| 选项 | 行为 |
|---|---|
--new "标题" | 新增待办 |
--list [all|pending|done] | 按状态列表 |
--done [id] | 标记完成 |
--delete [id] | 删除 |
--help / --version | 帮助与版本 |
你可以用 Java + JDBC、Node + pg 或 Python + psycopg2;选一种你已在 /roadmaps/full-stack 后端语言节点上确定的栈即可。
推荐实现结构
todo-cli/
├── src/
│ ├── cli.ts # 解析 argv
│ ├── repository.ts # SQL CRUD
│ └── db.ts # 连接池
├── migrations/
│ └── 001_todos.sql
├── package.json
└── README.md
表结构示例:
CREATE TABLE todos (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
done BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
Create:INSERT 后返回 id;Read:SELECT 带 WHERE done = $1;Update:UPDATE ... WHERE id = $1 并检查 rowCount;Delete:软删或硬删二选一,README 写清策略。