목록으로
NestJS

TypeORM을 사용해보자 (2)

Dev Park
11/30/2022
26 views

서론

저번 게시글에서는 TypeORM 세팅까지 해보았다.
오늘은 엔티티를 만들어 데이터를 어떻게 조회하는지 알아보자.

Entity

코드가 모여있는 곳에 entities 라는 폴더를 만든다.
그 폴더 내부에 '원하는이름.entity.ts' 라는 파일을 만든다.

난 local.entity.ts 라는 지역 정보를 저장하기위한 엔티티 파일을 만들어보겠다.

typescript
1import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm/index'; 2 3@Entity('local_information') //테이블이름 4export class localEntity { 5 @PrimaryGeneratedColumn('increment', { type: 'bigint' }) //기본키로 설정 6 id: number; //컬럼이름 : 컬럼 데이터타입 7 8 @Column({ type: 'bigint' }) 9 area_code: number; 10 11 @Column({ length: 30 }) 12 County: string; 13 14 @Column({ length: 30 }) 15 City: string; 16 17 @Column({ type: 'int' }) 18 grid_x: number; 19 20 @Column({ type: 'int' }) 21 grid_y: number; 22 23 @Column({ type: 'double' }) 24 longitude: number; 25 26 @Column({ type: 'double' }) 27 latitude: number; 28}

위 코드처럼 자신이 필요한 컬럼과 타입 그리고 인덱스 설정을 적어서 만들면 된다.

데이터 조회

이제 만든 엔티티를 이용해 서비스레이어에서 데이터를 조회해보자.
서비스 레이어에 아래의 코드를 추가한다.

typescript
1import { localEntity } from 'src/entities/local.entity'; 2import { InjectRepository } from '@nestjs/typeorm'; 3... 4@Injectable() 5export class LocalService { 6 constructor( 7 @InJectRepository(localEntity) 8 private localRepository: Repository<localEnity>, 9 ) 10 { 11 this.localRepository = localRepository; 12 } 13}

위의 코드까지 추가하고 원하는 서비스레이어에 아래의 코드를 추가해서 실행해보자

typescript
1this.localRepository.find();

위의 코드를 실행해 결과값을 출력해보면 해당 데이터베이스의 모든 데이터가 객체 형태로 넘어온 것을 알 수 있다.

마치며

오늘은 TypeORM을 통해 엔티티를 만들어보고 데이터를 조회해보았다.