TSts-grm

GRM (ORM+) · TypeScript 7

数据访问,
由 ts-grm 驱动。

ts-grm 是 JVM 生态最先进的 ORM 框架 Jimmer 的 TypeScript 实现——零代码生成、无实体对象、无运行时反射;声明你要的形状,查询就返回那个形状,字段与类型在编译期锁定。

本站提供逐页可运行的中文教程:每个示例都跑在你自己浏览器里的 PostgreSQL 中,无需注册登录。

0 codegen0 runtime reflection100% TypeScript
main.ts
TS-GRM · TYPE = SHAPE
// 精确声明所需的数据形状
const BookView = dto.view(Book, c => [
  c.id,
  c.name,
  c.price,
])

const books = await sqlClient
  .createQuery(Book, (q, book) => {
    q.where(book.price.gt(40))
    return q.select(book.fetch(BookView))
  })
  .fetchList()
01

零代码生成

模型类即元数据:没有预处理器与生成步骤,字段类型、可空性全部从 class 声明直接推断。

02

查询即取形

像 GraphQL 一样声明要哪些列与关联(dto.view),返回的 DTO 精确到列,不多不少。

03

编译期锁定

列名、类型、取形闭合都在类型层校验——写错字段编译当场失败,不给运行期留坑。

04

无实体对象

没有懒加载与隐藏状态:查询得到纯数据 DTO,序列化即所得;读、写两侧都按形状取用。

Learning path

从第一个模型开始

查看完整目录
01

关于本教程

教程讲什么、怎么读:章节地图、阅读路径,以及每页示例运行所在的沙盒环境。

02

快速上手

安装 → 模型 → 视图 → 查询:四步跑通第一个可运行示例。

03

核心概念

模型、属性、关联、继承多态(独立子表与单表两种策略)、复合值与公式——以及整个框架的理念基石「DTO 哲学」。

04

查询 API

从根查询到条件、排序、取形、分页、自定义数据类型——再到聚合、子查询、CTE 与关联预取的完整查询能力。

05

SQL 后端

驱动接入、命名策略、事务、方言差异、SQL 日志、模式创建与实体过滤器(SQL 拦截器)。

06

API 参考

core / sql 快速参考:模型、属性、视图、DSL 与 SqlClient、驱动、选项的速查入口。

ts-grm / docs + labType-safe data access for TypeScript