nest @InjectRepository
时间: 2023-11-09 10:11:26 浏览: 45
`@InjectRepository()` 是 NestJS 框架中的一个装饰器,用于将仓库(Repository)注入到服务(Service)中。它需要一个参数,即实体类的名称或 Token,用于指定要注入的仓库的类型。在使用该装饰器之前,需要先通过 `TypeOrmModule` 导入数据库模块,并在其中配置连接信息和实体类。例如:
```typescript
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { User } from './user.entity';
import { UserService } from './user.service';
@Module({
imports: [TypeOrmModule.forFeature([User])],
providers: [UserService],
})
export class UserModule {}
```
在上面的示例中,我们通过 `TypeOrmModule.forFeature()` 方法导入了 `User` 实体类,并将其注入到了 `UserModule` 模块中。然后,在 `UserService` 中使用 `@InjectRepository()` 装饰器将 `UserRepository` 注入到了 `UserService` 中:
```typescript
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { User } from './user.entity';
@Injectable()
export class UserService {
constructor(
@InjectRepository(User)
private readonly userRepository: Repository<User>,
) {}
async findAll(): Promise<User[]> {
return this.userRepository.find();
}
}
```
在上面的示例中,我们使用了 `@InjectRepository()` 装饰器将 `UserRepository` 注入到了 `UserService` 中,并在 `findAll()` 方法中使用了该仓库的 `find()` 方法获取所有用户的信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)