3_Swagge|prisma-orm

Hello World

生成接口文档

SwaggerDocs官方地址

访问:/api

prisma => ORM数据库

官方文档
csdn:连接mysql

安装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
  1. 安装生成 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"
      }
    });
  }
}

posted @ 2023-10-10 23:28  MyKai  阅读(12)  评论(0)    收藏  举报