Web後臺服務開發——數據庫查詢之實現一個簡單的select

文章轉自 極客論壇

第一步 創建module和service

在命令行執行如下命令,創建名爲Person的module和service。

nest g module person
nest g service person

這時,會自動生成名爲person的目錄

normal

第二步 創建entity

在person目錄中創建文件person.entity.ts,寫入如下內容

import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';

@Entity()
export class Person {
   @PrimaryGeneratedColumn()
   id: number;

   @Column({ length: 100 })
   name: string;

   @Column('int')
   age: number;
}

第三步 修改service

修改person.service.ts,內容如下

import { Injectable } from '@nestjs/common';
import { Repository } from 'typeorm';

import { Person } from './person.entity';
import { InjectRepository } from '@nestjs/typeorm';

@Injectable()
export class PersonService {
   constructor(
       @InjectRepository(Person)
       private readonly personRepo: Repository<Person>
   ) { }

   findAll(): Promise<Person[]> {
       return this.personRepo.find();
   }

}

第四步 修改module

修改person.module.ts,內容如下

import { Module } from '@nestjs/common';
import { PersonService } from './person.service';
import { TypeOrmModule } from '@nestjs/typeorm';


import { Person } from './person.entity';

@Module({
imports: [TypeOrmModule.forFeature([Person])],
 providers: [PersonService],
 exports: [PersonService] // 這裏要把PersonService導出,因爲我們要在root module中使用它

})
export class PersonModule { }

第五步 修改controller

修改v1controller,添加內容

import { Controller, Get, Param, Post, Body } from '@nestjs/common';
import { HiDto } from 'src/v1/dto/hi-dto';
import { PersonService } from 'src/person/person.service';

import { Person } from '../person/person.entity';


@Controller('v1')
export class V1Controller {
   constructor(
       private readonly personService: PersonService
   ) { }
   @Get('/hello/:id')
   sayHello(@Param() params) {
       return `Hello Controller ${params.id}`;
   }

   @Post('/hi/:id')
   sayHi(@Body() hiDto: HiDto, @Param() params) {
       console.log(hiDto);
       console.log(params.id);
       return hiDto;
   }

   @Get('/person/list')
   async getPersonList(): Promise<Person[]> {
       return this.personService.findAll();
   }

}

第六步 運行

npm run start

在瀏覽器訪問 localhost:3000/v1/person/list

normal

注意:

需要通過HeidiSQL在MySQL中創建你要使用的數據庫;

另外你會注意到,程序運行後會在數據庫中自動創建person表。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章