QueryDSL - 동적 쿼리, 벌크 연산, SQL Function 호출
·
Back-End/queryDSL
동적 쿼리BooleanBuilder 사용 @Test public void dynamicQuery_BooleanBuilder() { String usernameParam = "member1"; Integer ageParam = 10; List result = searchMember1(usernameParam, ageParam); Assertions.assertThat(result).hasSize(1); } private List searchMember1(String usernameCond, Integer ageCond) { BooleanBuilder builder = new BooleanBuilder(); if..
QueryDSL - 중급문법(프로젝션과 결과 반환 기본과 DTO, @QueryProjection)
·
Back-End/queryDSL
기본 프로젝션💡프로젝션이란?select대상을 지정하는 행위를 지칭한다.member의 username만 가져오는 경우 → 프로젝션이 1개member의 username과 age 2개를 가져오는 경우 → 프로젝션이 2개대상이 하나인 경우 @Test public void simpleProjection() { List result = queryFactory .select(member.username) .from(member) .fetch(); for (String s : result) { System.out.println("s = " + s); } }하나인 경..
QueryDSL - 기본문법(서브쿼리, Case, 상수와 문자 더하기)
·
Back-End/queryDSL
서브 쿼리JPAExcpressions를 이용해서 서브쿼리를 사용 할 수 있다.서브쿼리 eq 사용 예시 /* * 나이가 가장 많은 회원 조회 * */ @Test public void subQuery() { // 기존에 쓰던 static인 QMember객체 사용시 겹칠수 있어서 서브쿼리용 Qmember 생성 QMember memberSub = new QMember("memberSub"); List result = queryFactory.selectFrom(member) .where(member.age.eq( JPAExpressions ..
QueryDSL - 기본문법(집합, 조인)
·
Back-End/queryDSL
집합 함수 @Test public void aggregation() { List result = queryFactory .select( member.count(), member.age.sum(), member.age.avg(), member.age.max(), member.age.min() ) .from(member) .fetch(); Tuple tuple = ..
QueryDSL - 기본 문법(검색, 결과, 정렬, 페이징)
·
Back-End/queryDSL
QueryDSL - 기본 문법(검색, 결과, 정렬, 페이징)검색 조건 쿼리기본 검색 쿼리@Testpublic 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 을 selectFrom으로 합칠수 있음JPQL이 제공하는 모든 검색 조건 제공member.username.eq("member1") // username..
JPQL 과 QueryDSL 문법 비교 및 Q-Type활용
·
Back-End/queryDSL
https://www.inflearn.com/course/querydsl-%EC%8B%A4%EC%A0%84/dashboard 실전! Querydsl - 인프런 | 강의Querydsl의 기초부터 실무 활용까지, 한번에 해결해보세요!, 복잡한 쿼리, 동적 쿼리는 이제 안녕! Querydsl로 자바 백엔드 기술을 단단하게. 🚩 본 강의는 로드맵 과정입니다. 본 강의는 자바 백엔www.inflearn.com 테스트 초기 설정@SpringBootTest@Transactionalpublic class QuerydslBasicTest { @Autowired EntityManager em; @BeforeEach public void before() { queryFactory = ne..