关于本教程
这是 ts-grm——TypeScript 6/7 的 GRM(ORM+)框架——的交互式中文教程。
- 每个概念对应一篇小页,每页都有一个可以在线运行的示例代码;
- 示例代码用「+ 添加到工作区」放进右侧沙盒,点「运行」即可查看真实结果;
- 右侧「数据库」抽屉随时看数据变化,每次运行都能看到 ts-grm 生成的 SQL 追踪。
你会学到什么
教程分三块递进:
- 概念:模型、视图(View)、查询 DSL、类型系统——ts-grm 怎么想问题(它没有实体对象,查询直接得到 DTO);
- 查询:条件、排序、取形、分页、聚合、子查询——功能大头;
- 后端:驱动、事务、方言、命名策略——部署与深度使用。
「变更 API(保存 / Input DTO)」正在按上游实现进度跟进:上游运行时尚未发布的部分,教程以设计预览呈现并标注适配版本,不会写成已可用的假象。
章节地图
| 章节 | 内容 |
|---|---|
| 快速上手 | 安装、模型、视图、查询 |
| 核心概念 | 模型、属性、关联、继承多态、DTO 哲学 |
| 查询 API | 条件、排序、取形、分页、聚合、子查询、CTE |
| 变更 API | Input DTO、保存模式、解绑(设计预览,随上游实现跟进) |
| SQL 后端 | 驱动、事务、方言、命名策略、日志 |
| API 参考 | core / sql 快速参考 |
正式阅读前,请先看本组第二页「沙盒环境」——了解每页示例在哪里运行、数据库抽屉与数据重置是怎么回事。
三条阅读路径
新用户(对 ts-grm / 类型级 ORM 都陌生)
按顺序读:快速上手四步 → 核心概念(重点是「DTO 哲学」——与常见 ORM 最大的理念差异)→ 查询前五节,之后按需补。
ORM 老手(用过 Prisma / Sequelize / Jimmer)
快速上手快速过 API 手感 → 「DTO 哲学」与「取形进阶」——理念摩擦最大的两处 → 其余按工作场景查。
深入研究者(性能、类型系统、方言)
先读 SQL 后端与 API 参考;每个查询页的 SQL 追踪片段直接到沙盒复核。
术语速记
| 术语 | 含义 |
|---|---|
| 模型(Model) | model(...) 声明的实体形状,仅元数据 |
| 视图(View) | dto.view 声明的查询结果形状 |
| 取形 | 按视图选择要返回的字段与关联 |
| 列表达式 | 表对象上某列的类型级对象(book.price),比较方法在它上面 |
| DTO | 查询 / 保存的载荷形状,没有实体对象 |
| 沙盒 | 本教程在线可运行环境:独立数据 + 工作区 |
与上游版本的关系
本教程按 @ts-grm/core / @ts-grm/sql 的 0.0.x 版本适配,每页 frontmatter 标注 verified 已校验版本。上游发版活跃,教程会持续跟进。