spring boot

Spring

[Spring Boot] Querydsl 동적 쿼리(Dynamic SQL) 조회 (BooleanBuilder, BooleanExpression)

Querydsl을 사용하게 되면 상황에 따라 다르게 적용을 할 수 있는 동적쿼리를 손쉽게 짤 수 있습니다. 동적쿼리를 짜는 방식은 대표적으로 두 가지가 있습니다. 지금부터 알아보도록 하겠습니다. BooleanBuilder 사용 방식 BooleanBuilder란 아래와 같이 BooleanBuilder 생성자를 생성 후, 아래와 같이 if문을 통해서 각 데이터의 조건에 맞게 코드를 작성하는 것입니다. 아래 코드와 같이 데이터가 많지 않아 작성해야 할 if문이 많지 않다면 쿼리문이 깔끔하게 보이겠지만, 데이터가 많아진다면 추가해야 할 조건문이 많아져 쿼리문을 추적하기 어려울 것입니다. public List searchByBuilder(MemberSearchCondition condition) { Boolean..

Spring

[Spring Boot] Querydsl 초기 세팅 (Gradle, Querydsl 5.0.0)

Querydsl 5.0.0 버전 세팅 방법 Querydsl 초기 세팅을 해주던 도중 버전이 맞지 않아 기존의 세팅 방식을 적용하면 에러가 발생하였다. 현재 나의 프로젝트 버전은 'org.springframework.boot-2.7.14', 'Gradle-8.2.1'이고 Querydsl은 5.0.0 버전을 사용하고자 하였다. build.gradle 파일 세팅 //querydsl 버전 정보 추가 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '2.7.14' id 'io.spring.dependency-management' version '1.1.2' //query..

Spring

[Spring Boot] Spring Data JPA에서 BaseEntity 사용하기

BaseEntity란? Spring Boot 내에서 코드를 작성하다 보면 정보가 중복되는 경우가 종종 발생합니다. 이러한 경우를 손쉽게 해결해 주는 방법이 바로 BaseEntity입니다. 아래 코드를 보면 Student와 Professor 클래스 내 정보를 살펴보면, createdBy와 createdDate에서 공통 정보가 발생합니다. 물론 하나하나씩 별도로 작성해 주어도 문제는 없지만, 중복된 것처럼 보일 수 있기에 이를 한 곳에 공통으로 매핑해 주는 것이 좋습니다. @Entity public class Student { @Id @GeneratedValue private Long id; private String name; // 공통 컬럼 private String createdBy; private L..

Spring

@RequestParam과 @Pathvariable의 차이점

Spring Boot에서 데이터 조회 API를 제작하는 방법은 대표적으로 두 가지가 있다. 1. http://localhost:8080/board?id=1 2. http://localhost:8080/board/id/1 예시로 보다시피, 둘 다 같은 데이터를 받아오지만 전반적으로 봤을 때 가장 큰 차이점은 쿼리스트링의 사용 여부라고 볼 수 있다. 아래부터는 둘의 차이를 좀 더 자세하게 분석을 해보도록 하겠다. @RequestParam 이란? @RequestParam의 파라미터 종류는 4가지이다. defaultValue : 값을 설정하지 않았을 때 설정할 기본값 name : 바인딩할 파라미터의 이름 value : name의 별칭 required : 필수 값 사용 여부 설정 (무조건 설정을 해주어야 함) @..

주인장 지니
'spring boot' 태그의 글 목록
loading