3_Swagge|prisma-orm
Hello World
生成接口文档
访问:/api
prisma => ORM数据库
安装prisma:
1.npm install -D prisma
2.生成模式文件和环境变量
2.npx prisma init
3. 创建一个model
model User{
id String @id @default(uuid())
name String @unique //唯一值
email String @unique
password String
createTime DateTime @default(now()) @map("create_time")
updatedTime DateTime @updatedAt
// 更新数据表名字
@@map("user")
}
4. 将Prisma模式和数据表映射,创建数据库
npx prisma db pull
- 安装生成 Prisma Client
npm install @prisma/client
npx prisma generate
CRUD
async getHello() {
const list = await sql.user.findMany();
return list;
}
async create(datas) {
const newUser = await sql.user.create({
data: datas
}
)
return newUser
}
async update(id, data) {
const newsUser = await sql.user.update({
where: {
id
},
data: data
})
return newsUser;
}
async delete(id){
const user=sql.user.delete({
where:{
id
}
})
return user
}
创建prisma全局服务
npx nest generate module prisma
npx nest generate service prisma
prisma.service.ts
import { Injectable, OnModuleInit, OnModuleDestroy } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
@Injectable()
export class PrismaService extends PrismaClient
implements OnModuleInit, OnModuleDestroy {
async onModuleInit() {
await this.$connect();
}
async onModuleDestroy() {
await this.$disconnect();
}
}
prisma.module.ts
import { Module } from '@nestjs/common';
import { PrismaService } from './prisma.service';
@Module({
providers: [PrismaService],
exports: [PrismaService],
})
export class PrismaModule {}
使用@Global() 声明为全局模块,前提是在根模块里注册
使用
import { Injectable } from '@nestjs/common';
import { PrismaService } from 'src/prisma/prisma.service'
@Injectable()
export class AppService {
constructor(private prisma:PrismaService){}
getHello(): any {
return this.prisma.user.findMany({
where:{
name:"test"
}
});
}
}