java13 MyBatis에서 동적 SQL 제대로 쓰는 법 (if, choose, where, trim) MyBatis는 SQL을 XML로 작성하는 방식이기 때문에, 동적 SQL 처리는 매우 중요합니다.실무에서는 입력값에 따라 조건을 달리하거나, 특정 필드만 업데이트하는 등 유연한 쿼리 작성이 필요합니다.이럴 때 MyBatis의 , , , 같은 동적 SQL 태그를 잘 활용하면 효과적으로 처리할 수 있습니다.1. : 조건 분기 처리의 기본가장 많이 사용하는 태그입니다.조건에 따라 SQL 일부를 추가하거나 생략할 수 있습니다. SELECT * FROM users WHERE 1 = 1 AND username = #{username} AND age = #{age} WHERE 1=1은 조건이 없어도 SQL 문법 오류가 나지 않게 하기 위한 패턴입니다.뒤에 오는 AND 조건들을 자연스럽게 .. 2025. 6. 7. [Java] Enum을 JSON으로 직렬화할 때 주의할 점 – @JsonValue, @JsonCreator 활용법 Spring Boot 기반 REST API에서 enum을 사용하는 경우,프론트와 JSON 데이터를 주고받을 때 직렬화(서버 → JSON), 역직렬화(JSON → 서버) 문제가 자주 발생합니다.API 응답 시 Enum.name()이 그대로 나가거나클라이언트에서 String 값을 보냈는데 Jackson이 Enum으로 못 바꾸는 경우이런 상황은 프론트와 API의 통신 오류로 이어질 수 있습니다.이번 글에서는 실무에서 자주 발생하는 Enum 매핑 이슈와이를 해결할 수 있는 @JsonValue / @JsonCreator 사용법을 정리해보겠습니다.기본 Enum 직렬화 방식은?다음과 같은 Enum이 있다고 가정합니다.public enum Status { READY, RUNNING, DONE}기본적으로 Sprin.. 2025. 6. 1. [Java] Record vs. Lombok – 무엇을 언제 써야 할까? 소개Java에서 불변 객체(immutable object) 를 만들 때 흔히 사용하는 두 가지 방식이 있습니다.바로 Record와 Lombok입니다.둘 다 getter, toString, equals, hashCode, 생성자 등을 자동으로 생성해주지만 철학과 구현 방식, 사용 목적은 분명히 다릅니다.이번 글에서는 Record와 Lombok의 차이를 명확히 정리하고, 실무에서 언제 어떤 것을 선택하면 좋은지에 대해 알아보겠습니다.1. Java Record란?record는 Java 14에 미리보기 기능으로 도입되었고,Java 16부터 정식으로 지원되는 불변 데이터 클래스를 위한 문법입니다.public record User(String name, int age) {}위 한 줄로 다음과 같은 클래스를 생성할 .. 2025. 5. 31. [Java] Enum을 똑똑하게 사용하는 실무 패턴 정리 ✅ 왜 Enum을 잘 써야 할까요?Java의 enum은 단순히 상수를 나열하는 기능을 넘어서,비즈니스 로직과 상태를 안전하게 표현할 수 있는 강력한 도구입니다.하지만 많은 코드에서는 여전히 if (type == A)와 같은 방식으로만 사용되고 있습니다.이번 글에서는 실무에서 Enum을 더 똑똑하게 사용하는 방법을 정리하였습니다.✅ 1. 기본적인 Enum 선언public enum OrderStatus { READY, PAID, SHIPPED, CANCELED}가장 기본적인 상태 표현 방법입니다.실무에서는 코드, 설명, DB 값 등 추가 정보가 필요한 경우가 많습니다.✅ 2. 필드와 생성자 추가하기 (코드 + 설명 포함)public enum OrderStatus { READY("R", "결제대기".. 2025. 5. 25. 이전 1 2 3 4 다음 반응형