[typescript] 타입스크립트와 함께 사용하는 데이터베이스 ORM 예시

이번 포스트에서는 타입스크립트(TypeScript)와 함께 사용할 수 있는 데이터베이스 ORM(Object-Relational Mapping)에 대해 알아보겠습니다. 데이터베이스 ORM은 데이터베이스와의 상호작용을 추상화하여 자바스크립트 또는 타입스크립트 애플리케이션에서 개발자가 더 편리하게 데이터를 다룰 수 있도록 도와줍니다.

1. 타입스크립트 프로젝트 설정

타입스크립트 프로젝트에서 ORM을 사용하기 위해 먼저 필요한 패키지를 설치하고 설정해야 합니다. 아래는 타입ORM(TypeORM)을 예시로 들어 설명하겠습니다.

npm install typeorm reflect-metadata mysql

타입ORM과 함께 MySQL 데이터베이스를 사용할 것이므로, 위와 같이 필요한 패키지들을 설치합니다. 또한, reflect-metadata 패키지도 함께 설치해야 타입ORM이 올바르게 동작합니다.

2. 모델 정의

타입ORM을 사용하여 모델을 정의하고 데이터베이스 테이블과 매핑합니다.

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

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

  @Column()
  name: string;

  @Column()
  email: string;
}

위 코드에서 @Entity 데코레이터는 User 클래스가 데이터베이스 테이블과 매핑됨을 나타내고, @PrimaryGeneratedColumn, @Column 데코레이터들은 해당 필드가 데이터베이스의 컬럼과 매핑된다는 것을 의미합니다.

3. 데이터베이스 연결

타입ORM을 사용하여 데이터베이스에 연결하고 모델을 사용하기 위해, 다음과 같이 데이터베이스 설정과 연결을 해야 합니다.

import { createConnection, Connection } from 'typeorm';
import { User } from './models/User';

createConnection({
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'password',
  database: 'test',
  entities: [User],
  synchronize: true,
  logging: true
}).then((connection: Connection) => {
  console.log('Database connection established');
}).catch(error => console.log(error));

위 코드에서 createConnection 함수를 사용하여 MySQL 데이터베이스에 연결하고, entities 속성을 통해 연결할 모델을 등록합니다.

결론

타입ORM을 사용하면 타입스크립트 프로젝트에서 데이터베이스 ORM을 편리하게 사용할 수 있습니다. 모델 정의와 데이터베이스 연결을 통해 타입스크립트와 데이터베이스를 간편하게 연동할 수 있습니다. 여기서는 타입ORM과 MySQL을 예시로 들었지만, 다양한 데이터베이스와 ORM을 함께 사용할 수 있으며 이에 대한 세부적인 설정은 각각의 공식 문서를 참조하시기 바랍니다.

더 많은 정보를 얻고 싶다면, 타입ORM 공식 문서를 참고하시기 바랍니다.