服务

  1. import { Injectable } from '@nestjs/common';
  2. import { InjectRepository } from "@nestjs/typeorm";
  3. import { Repository } from "typeorm";
  4. import { Mysql } from '../entity/mysql.entity';
  5. @Injectable()
  6. export class MysqldemoService {
  7. constructor(
  8. // 把实例 赋值给变量
  9. @InjectRepository(Mysql)
  10. private readonly mysqlRepository: Repository<Mysql>
  11. ) { }
  12. // 查找
  13. findAll() {
  14. return this.mysqlRepository.find()
  15. }
  16. // 增加
  17. async add() {
  18. const mysql = new Mysql()
  19. mysql.name = 'daming';
  20. mysql.age = 87;
  21. return await this.mysqlRepository.save(mysql);
  22. }
  23. // 更新
  24. async update() {
  25. return this.mysqlRepository.update(
  26. {name:"红"},
  27. {age:99999}
  28. )
  29. }
  30. // 删除
  31. async delete(){
  32. // 期待优雅的写法
  33. const del = await this.mysqlRepository.findOne({name:"红"})
  34. console.log(del);
  35. return await this.mysqlRepository.remove(del)
  36. }
  37. }

接口

  1. import { Controller, Get } from '@nestjs/common';
  2. import { MysqldemoService } from "./mysqldemo.service";
  3. @Controller('mysqldemo')
  4. export class MysqldemoController {
  5. constructor(
  6. private readonly mysqldemoService:MysqldemoService
  7. ){}
  8. @Get('find')
  9. index(){
  10. return this.mysqldemoService.findAll()
  11. }
  12. @Get('add')
  13. async add(){
  14. return await this.mysqldemoService.add()
  15. }
  16. @Get('update')
  17. async update(){
  18. return await this.mysqldemoService.update();
  19. }
  20. @Get('delete')
  21. async delete(){
  22. return await this.mysqldemoService.delete()
  23. }
  24. }

操作差不多,可以使用.query直接操作mysql 语法