[Java]DTO는 항상 만들어야 할까?
답은 Yes라고 생각한다.요청(Request), 응답(Response) 모두 DTO를 만들어주면 좋다. 실무에서 API를 설계할 때 요청과 응답 각각에 DTO를 안 쓰면 컨트롤러에서 엔티티를 직접 노출하거나 받아야 하는데, 이건 보안, 유지보수, 확장성 면에서 매우 불리하다. 즉, 계층 분리, 보안, 유지보수, 유연성 모두를 위한 기본 설계 원칙이기 때문에 사실상 필수나 다름 없다. 특히 Form 데이터 다룰 때는 100% 써야한다.@ModelAttribute나 @RequestParam으로 폼 데이터를 받는 경우, 필드를 하나씩 받기보다는 DTO로 묶어서 받는 게 훨씬 명확하고 유지보수하기 좋다. 게다가 필드가 많아질수록 코드가 복잡해지는데, DTO를 쓰면 검증도 쉽게 걸 수 있어서 정말 좋다. 이유는 ..
2025. 4. 9.
[MySQL]중복 제거 시 사용하는 DISTINCT
🤔 DISTINCT란?DISTINCT는 중복된 행을 제거하여 유일한 결과만 반환한다.기본 문법은 아래와 같음.SELECT DISTINCT 컬럼1, 컬럼2, ...FROM 테이블명; 👨💻 DISTINCT 예시SELECT DISTINCT o.customer_id, o.order_id, o.delivery_status, COUNT(o.product_id) OVER ( PARTITION BY o.customer_id, o.order_id, o.delivery_status ) AS product_countFROM orders oWHERE o.is_cancelled = 'N'; DISTINCT를 활용해, 고객 ID, 주문 ID, 배송 상태가 동일한 경우 중복을 ..
2025. 4. 3.