📜  TypeORM-简介(1)

📅  最后修改于: 2023-12-03 15:20:42.877000             🧑  作者: Mango

TypeORM 简介

TypeORM 是一个功能强大的对象关系映射器(ORM)框架,它是用 TypeScript 编写的,并且支持多种数据库,包括 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。

安装

你可以使用 npm 安装 TypeORM:

npm i typeorm
特性

TypeORM 具有以下特性:

  • 实体映射:TypeORM 可以将 JavaScript / TypeScript 实体(即对象)映射到数据库表。每个实体都可以有多个列,并且每个列都可以配置用于验证、获取和设置数据。
  • 数据关系:TypeORM 提供了多种关系类型,包括一对一、一对多和多对多,以及支持多态关系。它还支持级联插入、更新和删除,以及延迟关系加载。
  • 活动记录:TypeORM 支持活动记录,这意味着你可以使用查询构建器对实体进行 CRUD 操作,而无需手动编写 SQL。
  • 查询构建器:TypeORM 具有强大的查询构建器,它支持 SELECT、INSERT、UPDATE 和 DELETE 查询,以及聚合、分组和排序查询。
  • 迁移:TypeORM 支持迁移,允许你跟踪数据库模式的更改并将其应用到目标数据库中。
  • 基于 TypeScript:TypeORM 是用 TypeScript 编写的并充分利用了其类型安全和静态分析功能。
示例

下面是一个使用 TypeORM 的示例,它使用 PostgreSQL 数据库和活动记录来插入和查询用户:

import { createConnection } from 'typeorm';

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  name: string;

  @Column()
  email: string;
}

async function main() {
  const conn = await createConnection({
    type: 'postgres',
    host: 'localhost',
    port: 5432,
    username: 'postgres',
    password: 'password',
    database: 'test',
    entities: [User],
    synchronize: true,
  });

  const user = new User();
  user.name = 'John Doe';
  user.email = 'johndoe@example.com';
  await user.save();

  const users = await conn.manager.find(User);
  console.log(users);
}

main();
结论

TypeORM 是一个功能强大的 ORM 框架,它充分利用了 TypeScript 的类型安全和静态分析功能,并提供了实体映射、数据关系、活动记录、查询构建器和迁移等高级特性。如果你正在寻找一个可靠的数据访问层解决方案,TypeORM 是一个很好的选择。