nestjs集成prisma
时间: 2023-07-22 07:04:28 浏览: 286
首先,你需要安装Prisma和NestJS的依赖:
```
npm install @prisma/client prisma @nestjs/prisma
```
接下来,你需要在你的NestJS应用程序中创建一个Prisma服务。你可以使用`PrismaService`类来实现这一点。在`PrismaService`中,你需要创建一个Prisma客户端实例:
```typescript
import { Injectable } from '@nestjs/common';
import { PrismaClient } from '@prisma/client';
@Injectable()
export class PrismaService {
private prisma: PrismaClient;
constructor() {
this.prisma = new PrismaClient();
}
getClient() {
return this.prisma;
}
async onModuleDestroy() {
await this.prisma.disconnect();
}
}
```
现在,你可以在你的控制器或服务中注入`PrismaService`,并使用`getClient`方法访问Prisma客户端。
例如,以下是一个使用Prisma的控制器:
```typescript
import { Controller, Get } from '@nestjs/common';
import { PrismaService } from './prisma.service';
@Controller('users')
export class UsersController {
constructor(private prisma: PrismaService) {}
@Get()
async getUsers() {
const users = await this.prisma.getClient().user.findMany();
return users;
}
}
```
这里我们使用Prisma客户端的`user.findMany`方法来获取所有用户。
最后,你需要在你的应用程序模块中注册`PrismaService`:
```typescript
import { Module } from '@nestjs/common';
import { PrismaService } from './prisma.service';
import { UsersController } from './users.controller';
@Module({
imports: [],
controllers: [UsersController],
providers: [PrismaService],
})
export class AppModule {}
```
现在,你已经成功地将Prisma集成到了NestJS中。
阅读全文