📅  最后修改于: 2023-12-03 15:05:39.167000             🧑  作者: Mango
TypeORM 是一个基于 TypeScript 和 Node.js 的 ORM(对象关系映射器)框架。它提供了许多有用的功能,例如支持多种数据库(如 MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle),迁移,关系,事务等等。本指南将为您提供 TypeORM 的介绍,特点和使用方法等内容。
TypeORM 提供了一个基本的生命周期侦听器,这使得数据库中的主要增删改查和事件处理称为可能。它还提供了 Entity 状态改变的侦听器。
TypeORM 允许编写复杂的查询。它支持事务,计数并且能够使用查询构建器进行复杂查询查询。
使用 TypeORM 还可以轻松地编写关联查询,例如使用 Inner Join,Left Join 和 Right Join 连接两个或更多表。
多种数据库支持。TypeORM 支持各种数据库,包括 PostgreSQL,MySQL,MariaDB,SQLite,Oracle 和 MS SQL Server,这样您可以轻松使用您最喜欢的数据库。
TypeORM 可以轻松地结合 NestJS 框架使用。
首先,您需要安装 TypeORM。
npm install typeorm
接下来,您需要创建一个 Entity。Entity 是一个简化了数据库中记录的描述性类,它的每个实例代表一个记录。
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
}
然后,将实体添加到实体管理器中。
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));
最后,使用 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 可能是您的最佳选择。