본문 바로가기

java2

[Spring] QueryDSL을 활용한 동적 쿼리(Dynamic SQL) 조회하기 (BooleanBuilder 활용) 1. Query DSL 이란?Spring boot에서 Spring Data JPA는 개발자가 간단한 CRUD 메서드 및 쿼리 메서드를 사용할 수 있다.하지만, 원하는 조건의 데이터를 검색해야 할 때 다양한 조건들이 있다면 매개변수는 점차 증가하게 되고 성능 및 가독성이 떨어진다.이때, 개발자는 JPQL을 활용해서 직접 SQL을 작성하여 데이터를 조작할 수 있지만, 로직이 점점 복잡해지면 마찬가지로 SQL에서의 개행이 반복되다보면 해당 쿼리가 어디에 어떻게 쓰이는지 알 수 없을 때가 있다. 또한, JPQL의 경우 복잡한 SQL을 작성하다보면 나올 수 있는 오타/문법적인 오류에 대해서 컴파일 시점에 확인할 수 없고 런타임에서 발생한 에러를 추적해야 한다. 이러한 불편함을 해소해주는 요소 중 하나로 Query.. 2024. 5. 14.
[Java] Java 예외 처리 0. Java의 예외처리 개발을 잘한다는 사람들은 기본적으로 원하는 로직을 바로 설계하여 코드를 뚝딱뚝딱 작성하는 것을 의미할 수 있다.하지만 개발을 잘한다는 것은 얼마나 예측 불가능한 런타임 에러를 발생시키지 않고 원하는 로직을 완성하는냐를 의미할 수도 있다.이때 예측 불가능한 런타임 에러를 없애는 것을 예외 처리라고 할 수 있다. 기본적으로 Java에서는 Try -> Throw -> Catch 의 구성으로 에러 처리(예외 처리)를 한다.이때 예외 처리는 에러가 발생하는 근원에 따라서 2가지로 구분할 수 있다.자바 프로그램 "외부"에서 발생하는 에러를 Checked Exception이라 한다.자바 프로그램 "내부 로직"에서 발생하는 에러를 Unchecked Exception이라고 한다.Checked E.. 2024. 3. 19.