📜  TypeORM-指数(1)

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

TypeORM-指南

TypeORM 是一个基于 TypeScript 和 Node.js 的 ORM(对象关系映射器)框架。它提供了许多有用的功能,例如支持多种数据库(如 MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle),迁移,关系,事务等等。本指南将为您提供 TypeORM 的介绍,特点和使用方法等内容。

特点
  1. TypeORM 提供了一个基本的生命周期侦听器,这使得数据库中的主要增删改查和事件处理称为可能。它还提供了 Entity 状态改变的侦听器。

  2. TypeORM 允许编写复杂的查询。它支持事务,计数并且能够使用查询构建器进行复杂查询查询。

  3. 使用 TypeORM 还可以轻松地编写关联查询,例如使用 Inner Join,Left Join 和 Right Join 连接两个或更多表。

  4. 多种数据库支持。TypeORM 支持各种数据库,包括 PostgreSQL,MySQL,MariaDB,SQLite,Oracle 和 MS SQL Server,这样您可以轻松使用您最喜欢的数据库。

  5. TypeORM 可以轻松地结合 NestJS 框架使用。

入门指南
  1. 首先,您需要安装 TypeORM。

    npm install typeorm
    
  2. 接下来,您需要创建一个 Entity。Entity 是一个简化了数据库中记录的描述性类,它的每个实例代表一个记录。

    import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
    
    @Entity()
    export class User {
      @PrimaryGeneratedColumn()
      id: number;
    
      @Column()
      name: string;
    }
    
  3. 然后,将实体添加到实体管理器中。

    import { createConnection } from 'typeorm';
    import { User } from './entity/User';
    
    createConnection()
      .then(async (connection) => {
        const user = new User();
        user.name = 'John Doe';
        await connection.manager.save(user);
      })
      .catch((error) => console.log(error));
    
  4. 最后,使用 TypeORM 查询用户数据。

    import { createConnection } from 'typeorm';
    import { User } from './entity/User';
    
    createConnection()
      .then(async (connection) => {
        const userRepository = connection.getRepository(User);
        const users = await userRepository.find();
        console.log(users);
      })
      .catch((error) => console.log(error));
    
结论

TypeORM 在 TypeScript 中提供了一个强大的 ORM。它支持多种数据库和功能,例如迁移,关联和复杂查询。TypeORM 也易于使用,如上述入门指南所示。如果您正在寻找一个能够支持 TypeScript 和多种数据库的 ORM,TypeORM 可能是您的最佳选择。