数据库 CURD

controller.ts

import { Controller, Get, Post, Body, Patch, Param, Delete, Query } from '@nestjs/common'
import { LoginService } from './login.service'
import { CreateLoginDto } from './dto/create-login.dto'
import { UpdateLoginDto } from './dto/update-login.dto'

@Controller('login')
export class LoginController {
  constructor(private readonly loginService: LoginService) {}

  @Post()
  create(@Body() createLoginDto: CreateLoginDto) {
    return this.loginService.create(createLoginDto)
  }

  @Get()
  findAll(@Query() query: { keyWord: string }) {
    return this.loginService.findAll(query)
  }

  @Patch(':id')
  update(@Param('id') id: string, @Body() updateLoginDto: UpdateLoginDto) {
    return this.loginService.update(+id, updateLoginDto)
  }

  @Delete(':id')
  remove(@Param('id') id: string) {
    return this.loginService.remove(+id)
  }
}

service.ts

import { Injectable } from '@nestjs/common'
import { CreateLoginDto } from './dto/create-login.dto'
import { UpdateLoginDto } from './dto/update-login.dto'
import { Login } from './entities/login.entity'
import { InjectRepository } from '@nestjs/typeorm'
import { Like, Repository } from 'typeorm'

@Injectable()
export class LoginService {
  //
  constructor(@InjectRepository(Login) private readonly login: Repository<Login>) {}
  //
  create(createLoginDto: CreateLoginDto) {
    const data = new Login()
    data.name = createLoginDto.name
    data.age = createLoginDto.age
    return this.login.save(data)
  }
  //
  findAll(query: { keyWord: string }) {
    return this.login.find({
      where: {
        name: Like(`%${query.keyWord}%`),
      },
    })
  }
  //
  update(id: number, updateLoginDto: UpdateLoginDto) {
    return this.login.update(id, updateLoginDto)
  }
  //
  remove(id: number) {
    return this.login.delete(id)
  }
}