nestjs链接MySQL
来源:21-7 使用nestjs连接mongodb数据库,并抽离配置信息

程序媛_Lisa
2024-08-27
老师,工作中用到的是MySQL数据库,查找资料后,这样使用的,麻烦看下是否合理,有没有需要改进的地方?
- 创建entity
// feedback/entity/feedback.entity.ts
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Feedback {
// 主键自增
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
email: string;
@Column()
message: string;
}
- 创建repository
import { Repository } from 'typeorm';
import { Feedback } from './entity/feedback.entity';
export class FeedbackRepository extends Repository<Feedback> {}
- 创建service,service中调用repository完成数据库操作
import { Injectable } from '@nestjs/common';
import { Feedback } from './entity/feedback.entity';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
@Injectable()
export class FeedbackService {
constructor(
@InjectRepository(Feedback)
private FeedbackRepository: Repository<Feedback>,
) {}
async findAll(): Promise<Feedback[]> {
return await this.FeedbackRepository.find();
}
async create(feedback: Feedback): Promise<Feedback> {
return await this.FeedbackRepository.save(feedback);
}
}
- 创建controller,controller中调用service完成业务逻辑
import {
Body,
Controller,
Get,
HttpException,
HttpStatus,
Post,
} from '@nestjs/common';
import { FeedbackService } from './feedback.service';
import { Feedback } from './entity/feedback.entity';
@Controller('feedback')
export class FeedbackController {
constructor(private readonly FeedbackService: FeedbackService) {}
@Get('test')
test() {
throw new HttpException('获取数据失败', HttpStatus.BAD_REQUEST);
}
@Post('create')
async create(@Body() feedback: Feedback) {
return this.FeedbackService.create(feedback);
}
@Get('findAll')
async findAll() {
return this.FeedbackService.findAll();
}
}
写回答
1回答
-
可以的。再测试一下功能,看没问题即可。
012024-08-27
相似问题