Querydsl 1. Querydsl SQL 쿼리문을 문자열이 아닌 소스코드로 작성하도록 지원하는 빌더 API (프레임워크) 2. Querydsl 의 장점 ① 고정된 SQL 문이아닌 조건에 맞게 동적으로 쿼리 생성 가능 ② 제약 조건 조립 및 가독성 향상 ③ 컴파일 시점에 오류를 발견할 수 있음 ④ 자동 완성 기능으로 인한 생산성 향상 3. Querydsl 의존성 주입 com.querydsl querydsl-jpa ${querydsl.version} com.querydsl querydsl-apt ${querydsl.version} 4. Qdomain 플러그인 추가 엔티티를 기반으로 접두사(prefix) 'Q'가 붙는 클래스를 자동으로 생성하는 플러그인 Querydsl 수행 시 엔티티가 아닌 Qdomain..
@Query 어노테이션 1. Spring Data JPA @Query 어노테이션 SQL과 유사한 JPQL (Java Persistence Query Language) 라는 객체지향 쿼리 언어를 통해 복잡한 쿼리 처리를 지원 JPQL - 테이블이 아닌 엔티티 객체를 대상으로 검색하는 객체지향 쿼리, SQL 추상화로 인해 특정 db sql 에 의존하지 않음 2. @Query 를 이용한 조회 상품 상세 설명(itemDetail)으로 상품을 조회하고 결과는 가격순으로 정렬 select "엔티티명" = select "*" @Param 을 통해 매개변수로 넘어온 값을 JPQL에 들어갈 변수로 지정 3. @Query 를 이용한 조회 테스트 수행 ItemDetail 컬럼 값에 "테스트 상품 상세 설명" 문자열이 포함되..
쿼리 메소드 (Query Method) 1. 쿼리 메소드 (Query Method) Spring Data JPA 에서 제공하는 핵심 기능 중 하나로 Repository 인터페이스에 간단한 네이밍 룰에 따라 메소드를 작성하면, 원하는 쿼리를 실행하도록 지원하는 메소드 2. 쿼리 메소드 문법 find 문법 find + (엔티티 이름) + By + 변수이름 3. 쿼리 메소드 Sample 및 JPQL snippet KeywordSampleJPQL snippet Distinct findDistinctByLastnameAndFirstname select distinct … where x.lastname = ?1 and x.firstname = ?2 And findByLastnameAndFirstname … wher..
Section 1. 상품 Repository 설계 1. Spring Data JPA Spring Data JPA 개념(링크달기) 2. 상품 Repository 생성 com.shop.repository.ItemRepository.java 생성 DAO 역할을 수행하는 Repository 인터페이스 JpaRepository 클래스 extends package com.shop.repository; import org.springframework.data.jpa.repository.JpaRepository; import com.shop.entity.Item; public interface ItemRepository extends JpaRepository { } 3. application-test.propertie..
Spring Boot Initializr Spring Boot 환경 구축 참고 (VSCODE, start(쓰니는 이거 안씀) OPEN_JDK(18)) Spring Initializr(maven) 에서 아래와 같이 설정 vscode springboot extension을 통해 빠르게 mvn 패키지를 생성할 수 있다. https://start.spring.io/ 위의 사이트를 통해서도 프로젝트를 생성할 수 있는데 압축파일을 풀고 열어야하는 약간의 번거로움이 있다. 프로젝트를 생성했으므로 생성한 프로젝트를 열어서 기본적인 세팅을 할 것인데 위와 같이 pom.xml에 아까 생성할때 넣었던 dependency들을 볼 수 있으며, 추후에 필요한 dependency를 pom.xml에 추가해 사용할 것이다. 이제 잘 ..