CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
全栈里程碑/课时/CRUD 里程碑
RawBlame
课时目录12 节

全栈里程碑

  1. 01全栈学习路径
  2. 02CRUD 里程碑
  3. 03CLI 里程碑
  4. 04前端应用里程碑
  5. 05交互里程碑
  6. 06自动化里程碑
  7. 07协作里程碑
  8. 08基础设施里程碑
  9. 09监控里程碑
  10. 10AWS SES 邮件
  11. 11完整应用里程碑
  12. 12综合练习

CRUD 里程碑

checkpoint-simple-crud-apps;Spring Boot + PG。

35 分钟

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 写清策略。

与 Spring Boot 的衔接

完成 CLI 后,同一套表可被 spring-boot-essentials 的 @RestController 复用:CLI 验证业务规则,API 层只加 HTTP 映射。日后 react-essentials 前端调 API 时,数据库 schema 已稳定。

本地开发可用 docker-essentials 起 PostgreSQL:

docker run -d --name pg -e POSTGRES_PASSWORD=dev -p 5432:5432 postgres:16

常见坑

  • 无输入校验:空标题、非法 id 应给出明确 stderr 与退出码
  • 连接未关闭:CLI 一次执行应 pool.end() 或等价释放
  • 并发:CLI 单进程通常够用;若多进程写同一库,考虑唯一约束与重试

练习

  • 实现 Todo CLI,四条 CRUD 子命令均可演示,数据落 PostgreSQL
  • README 含安装、迁移、--help 截图或终端录屏说明
  • 在 /roadmaps/full-stack 勾选 checkpoint-simple-crud-apps,并链接你的仓库

小结

CRUD 里程碑 = CLI + 数据库,四操作闭环。 不依赖 API 也能证明你会持久化与命令行设计。下一课 CLI 里程碑 扩展文件、HTTP 与第三方库能力。

加载本节练习…
← 上一课全栈学习路径下一课 →CLI 里程碑