Querydsl - 결과 조회 @Test public void resultFetch() { // List List fetch = queryFactory .selectFrom(member) .fetch(); // 단 건 Member findMember1 = queryFactory .selectFrom(member) .fetchOne(); // 처음 한 건 조회 Member findMember2 = queryFactory .selectFrom(member) .fetchFirst(); // 페이징에 사용 QueryResults results = queryFactory .selectFrom(member) .fetchResults(); } fetch() : 리스트 조회, 데이터 없으면 빈 리스트 반환 fetchO..
Spring관련 기술
검색 조건 쿼리 사실 동적 쿼리 Querydsl로 짜고 싶어서 배우는 것!.. @Test public void search() { Member findMember = queryFactory .selectFrom(member) .where(member.username.eq("member1") .and(member.age.eq(10)) ).fetchOne(); assertThat(findMember.getUsername()).isEqualTo("member1"); } 쿼리를 생각해보면 select * from Member m where m.username = 'member1' and m.age = 10; 이런 쿼리이다. /* select member1 from Member member1 where membe..
Querydsl - 기본 QType 활용 Q클래스 인스턴스를 사용하는 2가지 방법 QMember qMember = new QMember("m"); //별칭 직접 지정 QMember qMember = QMember.member; //기본 인스턴스 사용 확인할 수 있다. 한번 더 줄일 수 있는 방법 import static study.querydsl.entity.QMember.member; // import static study.querydsl.entity.QMember.*; -> 권장 @Test public void startQuerydsl() { Member findMember = queryFactory .select(member) .from(member) .where(member.username.eq..
JPQL vs Querydsl JPQL @SpringBootTest @Transactional public class QuerydslBasicTest { @Autowired EntityManager em; @BeforeEach public void before() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(teamB); Member member1 = new Member("member1", 10, teamA); Member member2 = new Member("member2", 20, teamA); Member member3 = new Member("member3", 30, t..
QueryDsl 라이브러리 살펴보기 querydsl-apt: Querydsl 관련 코드 생성 기능 제공 QClass 생성해주는 기능 querydsl-jpa: querydsl 라이브러리 아래 selectFrom 이런 메서드 제공 Hello result = query .selectFrom(qHello) .fetchOne(); http://querydsl.com/
Query Dsl 시작하게 된 계기 이전에 프로젝트에서 써봤는데 더 알고 싶어졌고, 최근에는 프로젝트를 JPA로 하지 않았기 때문에 좀 까먹었었다. 정리 겸 나중에 기억나게 세팅하는 법부터 정리할 예정 Gradle설정 Spring Boot 3.x 설정입니다. 2.x설정은 또 다릅니다. 1. 의존성 추가 plugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly..