📜  具有Express的TypeORM(1)

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

具有Express的TypeORM

TypeORM 是一个强大且易于使用的对象关系映射(ORM)框架,用于在 Node.js 和 TypeScript 应用程序中操作关系数据库。TypeORM 支持 MySQL、PostgreSQL、MariaDB、SQLite、MS SQL Server 和 Oracle 等多种数据库系统,并且能够轻松地与 Express 集成。

使用 TypeORM

要在 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 都是不错的选择。