INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (379) N
    • Java (46) N
      • 소개 (2) N
      • 기본 문법 및 OOP (1) N
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • CS (16)
      • 면접 준비 (7)
      • 운영체제 (0)
      • 네트워크 (2)
      • HTTP (6)
      • 스프링(Spring) IoC 컨테이너 (0)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그
QueryDSL 페이징 처리

QueryDSL 페이징 처리

바로 전 포스팅인 https://yeo-computerclass.tistory.com/413에서 작성한 코드에 이어 페이징 처리를 실습해보겠습니다. Querydsl 페이지 연동 QueryDSL Custom Repository 인터페이스에 페이지 추가 public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); Page searchPage(MemberSearchCondition condition, Pageable pageable); } searchPage() public Page searchPageSimple(MemberSearchCondition condition, Pageable pageable) { Lis..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 19.
  • textsms
QueryDSL 벌크 쿼리

QueryDSL 벌크 쿼리

벌크 연산 한 번에 여러 데이터를 수정 혹은 삭제하는 것을 의미합니다. 영속성 컨텍스트를 무시하고 바로 DB에 반영합니다. 영속성 컨텍스트와 DB의 상태가 달라지게 된다는 의미 벌크 연산으로 대량의 데이터를 수정한 후 fetch()로 데이터를 조회했을 때 변경된 DB에서 값이 아닌 이미 영속성 컨텍스트에 존재하는 데이터를 가져오는 문제가 발생합니다. 벌크 연산 이후 변경된 값을 가져오기 위해 EntityManager.flush()와 EntityManager.clear()를 통해서 영속성 컨텍스트 값을 버려야 합니다. 대량 데이터 수정 // 20살보다 어리면 비회원으로 변경하기 long count = jpaQueryFactory .update(member) .set(member.username, "비회원"..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 16.
  • textsms
QueryDSL 동적 쿼리

QueryDSL 동적 쿼리

JPA에서 동적 쿼리를 해결하는 방법 조건에 따라 문자열을 만들어 query문을 만들고 파라미터를 주는 방법 JPA Criteria (JPA 표준 스펙) Query DSL를 통한 동적 쿼리 생성 Query DSL 동적 쿼리 만드는 방법 BooleanBuilder Where 다중 파라미터 사용 1. BooleanBuilder @Test void dynamicQueryUsingBooleanBuilder(){ String usernameParam = "member"; Long ageParam = 10; List result = searchMember(usernameParam, ageParam); assertThat(result.size()).isEqualTo(1); } private List searchMem..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 16.
  • textsms
QueryDSL DTO에 값 담기

QueryDSL DTO에 값 담기

DTO에 값 담는 방법 프로퍼티 접근 (setter 사용) 필드 접근 생성자 이용 @QueryProjection 어노테이션 1. 프로퍼티 접근 List result = jpaQueryFactory .select(Projections.bean(MemberDto.class, member.username, member.age)) .from(member) .fetch(); Projection.bean ( Class, {field, ... } ) 이 메소드를 사용하면 기본 생성자와 setter를 통해서 객체를 만듭니다. 때문에 DTO에 setter, getter를 설정해주어야 합니다. 2. 필드 접근 List result = jpaQueryFactory .select(Projections.fields(Member..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 15.
  • textsms
QueryDSL 문법

QueryDSL 문법

조건 쿼리 import static com.example.querydsl.entity.QMember.member public List findAllMemberByNameAndAge(String username, Integer age) { return jpaQueryFactory.selectFrom(member) .where(member.username.eq(username) .and(member.age.eq(age))) .fetch(); } 검색 조건을 추가(and, or)할 때 체인 형식으로 합니다. 파라미터로 null 값이 들어오면 해당 문법 member.username.eq("member")// username = "member" member.username.ne("member")//username..

  • format_list_bulleted Spring Data/Query DSL
  • · 2023. 1. 15.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (379) N
    • Java (46) N
      • 소개 (2) N
      • 기본 문법 및 OOP (1) N
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • CS (16)
      • 면접 준비 (7)
      • 운영체제 (0)
      • 네트워크 (2)
      • HTTP (6)
      • 스프링(Spring) IoC 컨테이너 (0)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #mybatis
  • #회원 관리
  • #servlet
  • #JDBC
  • #이펙티브 자바
  • #querydsl
  • #게시판
  • #Java
  • #환경 세팅
  • #jsp
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바