# TYPE-ORM

[Nest js] Repository Pattern (2)
이전에 User Module을 Repository Pattern을 사용해서 만들어 보았는데 이번엔 유저가 게시물을 생성하는 Board Module을 만들어 User Module과 연결해보자 Project Tree 우선 최종적인 프로젝트 트리는 위와 같다. 먼저 domain 폴더 하위에 모듈이 들어갈 boards 폴더를 생성해주고, nest g module boards, nest g controller boards, nest g service boards 이 3개의 명령어로 기본적인 구조를 만들어 준다. 나는 전과 같이 Repository Pattern을 사용할 것이기 때문에 Service가 아닌 따로 Repository 파일을 만들어 DB에 접근하는 로직을 작성하려고 한다. 일단 먼저 Entity 파일과 DTO 파일을 만들어 보자 boards.entity.ts, boards.dto.ts Board 모듈에서 DB에 저장될 컬럼들의 목록을 먼저

[Nest js] Repository Pattern (1)
📌 Repository Pattern repository 간단히 설명하자면 비즈니스 로직이 있는 Service Layer와 DB에 접근하는 DataSource Layer 사이에 Repository Layer를 생성하여 두 Layer를 중계하는 것을 말한다. Repository 패턴을 도입함으로써 Service Layer에서 DB 접근 로직을 온전히 Repository로 이전하여 비즈니스 로직에 집중할수 있게 된다. 현재 공부하고 있는 Nest js 에서 한번 적용해 보도록 하자. Project tree 우선 현재 프로젝트의 구조이다. Repository 패턴을 사용할 것이기 때문에 DB에 접근하는 로직은 모두 users.repository.ts 파일에서 구현한다. 통상적으로 `con

[Nest js] Type ORM
📌 Type ORM? node js에서 실행되고, Type Script에서 작성된 객체 관계형 매퍼 라이브러리 ORM이란, 객체와 관계형 데이터베이스를 자동으로 변형 및 연결하는 작업이다. 데이터베이스 변형에 유용하게 사용이 가능 Type ORM Java Script 한눈에 봐도 Type ORM을 사용하는 것이 훨씬 쉽고 깔끔하다. Type ORM이 가지고 있는 특징으로는 모델을 기반으로 데이터베이스 테이블을 자동으로 생성한다. 데이터 베이스에서 개체를 삽입, 업데이트 , 삭제가 쉽게 가능 테이블 간의 매핑 (일대일, 일대다, 다대다) 생성 간단한 CLI 명령 제공
집계,정렬,서브 쿼리
🐧집계쿼리 집계 쿼리란 그 이름처럼 산술로써 집계하는 쿼리다. count : 행들의 갯수를 구하기 위해 사용 sum : 행들의 평균을 구하기 위해 사용 avg : 행들의 평균을 구하기 위해 사용 max : 행들의 최댓값을 구하기 위해 사용 min: 행들의 최솟값을 구하기 위해 사용 🐤count 집계쿼리 🐤sum 집계쿼리 🐤AVG 집계쿼리 🐤MIN,MAX 집계쿼리 🐤GROUP BY로 집계함수 그룹화하기 🐧정렬 쿼리 ORDER BY : 어떤 테이블에서 조회하였을때 그 결과를 내림차순 or 오름차순으로 정렬하고 싶을 때 사용 🐤정렬을 여러개 하고 싶은 경우 🐧서브 쿼리 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문 주의사항 서브쿼리를 괄호로 사용할 것. 서브쿼리는 단일 행 또는 비교 연산자와 함께 사용 가능하다. 서브쿼리는 `O