📅  最后修改于: 2023-12-03 15:22:34.654000             🧑  作者: Mango
TypeORM 是一个强大且易于使用的对象关系映射(ORM)框架,用于在 Node.js 和 TypeScript 应用程序中操作关系数据库。TypeORM 支持 MySQL、PostgreSQL、MariaDB、SQLite、MS SQL Server 和 Oracle 等多种数据库系统,并且能够轻松地与 Express 集成。
要在 Express 中使用 TypeORM,需要首先安装这两个依赖项:
npm install typeorm
npm install reflect-metadata
然后,可以使用 TypeORM 中的 createConnection
函数,连接到数据库并获得一个连接实例:
import "reflect-metadata";
import { createConnection } from "typeorm";
createConnection().then(async (connection) => {
// 在此处执行数据库操作
}).catch((error) => console.log(error));
在连接到数据库后,可以使用 TypeORM 定义实体类,以映射到数据库的表格:
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
age: number;
@Column()
email: string;
}
注意,@Entity
装饰器用于将类定义为实体,并且实体类中的属性使用 @Column
装饰器进行注释。
可以使用该实体类与数据库进行交互:
import { getRepository } from "typeorm";
import { User } from "../entity/User";
// 创建新用户:
const user = new User();
user.name = "james";
user.age = 30;
user.email = "james@example.com";
await getRepository(User).save(user);
// 从数据库中查询用户:
const allUsers = await getRepository(User).find();
const james = await getRepository(User).findOne({ name: "james" });
// 更新用户:
james.age = 35;
await getRepository(User).save(james);
// 删除用户:
await getRepository(User).remove(james);
TypeORM 简化了 Node.js 和 TypeScript 应用程序中的数据库操作,并且能够与 Express 程序无缝集成。无论是构建小型应用程序还是大型企业应用程序,TypeORM 都是不错的选择。