跳到主要内容

6.1-ORM

Create by fall on 25 Sep 2023 Recently revised in 25 Sep 2023

ORM

说明白点,就是维护表和对象之间的关系。

当我们操作对象的时候,就操作了表中的数据,操作了表中的数据,在对象上就会反映出来,所以,我们需要 ORM,来方便我们处理 DB

对比

typeORM

import { Entity, PrimaryGeneratedColumn, Column } from "typeorm"
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number
@Column()
firstName: string
@Column()
lastName: string
@Column()
age: number
}

mongoose

const Comment = new Schema({
name: { type: String, default: 'hahaha' },
age: { type: Number, min: 18, index: true },
bio: { type: String, match: /[a-z]/ },
date: { type: Date, default: Date.now },
buff: Buffer
})

prisma

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
author User @relation(fields: [authorId], references: [id])
authorId Int
}