Query DSL - 검색 조건 쿼리

2022. 8. 6. 19:45·공부/JPA
반응형

출처 : 인프런 실전! QueryDSL

Query DSL게시글은 대부분 인프런의 김영한님의 강의인 '실전! Query DSL' 기반으로 내용을 정리했습니다.

 

검색 조건 쿼리

코드로 먼저 확인해보자. 

@Test
public void search() {
    Member findMember = queryFactory
            .selectFrom(member)
            .where(member.username.eq("member1")
                    .and(member.age.eq(10)))
            // .where(member.username.eq("member1"), member.age.eq(10)) 와 동일
            .fetchOne();

    assertThat(findMember.getUsername()).isEqualTo("member1");
}

.select와 .from의 경우는 .selectFrom으로 합칠 수 있다. 그리고 where절에 조건이 하나가 아닌 .and나 .or를 이용해 메서드 체인으로 연결할 수 있다. 위 코드의 경우는 member username이 member1이고 member의 age가 10인 Member를 찾으라는 내용이다.  그리고 AND의 경우는 굳이 체인으로 .and() 하지 않아도 파라미터로 넘기면 자동으로 and 처리가 된다.

 

JPQL이 제공하는 모든 검색 조건 제공

member.username.eq("member"1) // username = 'member1'
member.username.ne("member1") // username != 'member1'
member.username.eq("member1").not() // username != 'member1'

member.username.isNotNull() // 이름이 is not null

member.age.in(10, 20) // age in(10, 20)
member.age.notIn(10, 20) // age not in (10, 20)
member.age.between(10, 30) // between 10, 30

member.age.goe(30) // age >= 30
member.age.gt(30) // age > 30
member.age.loe(30) // age <= 30
member.age.lt(30) // age < 30

member.username.like("member%") // like 검색
member.username.contains("member") // like %member% 검색
member.username.startsWith("member") // like member% 검색

 

반응형
저작자표시 비영리 변경금지 (새창열림)
'공부/JPA' 카테고리의 다른 글
  • Query DSL - 정렬, 페이징, 집합
  • Query DSL - 결과 조회
  • QueryDSL - 기본 Q-Type 활용
  • Query DSL - JPQL vs QueryDSL
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    방통대
    개발자
    oracle
    에러해결
    알고리즘
    JPA
    MSA
    자바스크립트
    기출문제
    Java
    스프링부트
    egov
    react
    springboot
    인프런
    토이프로젝트
    SpringBoot를 이용한 RESTful Web Service 개발
    RESTful
    IT
    프론트엔드
    QueryDSL
    Spring
    SQL
    토비의스프링부트
    코딩테스트
    백준
    운영체제
    넥사크로
    전자정부프레임워크
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
Query DSL - 검색 조건 쿼리
상단으로

티스토리툴바