[NestJS] TypeORM QueryBuilder

2024. 7. 2. 19:42NestJs

728x90
반응형

QueryBuilder란??

 TypeORM 공식문서 정의

QueryBuilder는 TypeORM의 가장 강력한 기능 중 하나이다. 이를 통해 우아하고 편리한 구문을 사용하여 SQL 쿼리를 작성하고 실행하며, 자동으로 변환된 엔터티를 얻을 수 있다.

주요 특징과 기능

  1. 객체 지향적인 접근: QueryBuilder는 객체 지향적인 스타일로 SQL 쿼리를 작성할 수 있습니다. 이는 SQL 쿼리를 직접 작성하는 것보다 데이터베이스 객체(Entity)를 다루는 방식에 더 가깝고, TypeORM의 엔터티(Entity)와 잘 통합됩니다.
  2. 직관적인 구문: QueryBuilder를 사용하면 SQL 쿼리를 직접 작성하는 것보다 더 직관적인 구문으로 쿼리를 작성할 수 있습니다. 이는 ORM의 객체 지향적인 접근 방식을 살리면서도, 복잡한 쿼리를 쉽게 구성할 수 있게 도와줍니다.
  3. SQL 인젝션 방지: QueryBuilder는 사용자 입력을 자동으로 이스케이프 처리하여 SQL 인젝션 공격을 방지합니다. 직접 SQL 쿼리를 작성할 때는 이를 수동으로 처리해야 하지만, QueryBuilder는 이를 자동으로 처리하여 보안성을 높입니다.
  4. ORM과의 통합: TypeORM의 QueryBuilder는 ORM과 잘 통합되어 데이터베이스와의 상호작용을 효율적으로 할 수 있습니다. 데이터베이스 테이블을 객체(Entity)로 매핑하고, 이를 기반으로 복잡한 쿼리를 실행할 수 있습니다.

 

 

728x90
반응형