querydsl : jqpl vs querydsl
This commit is contained in:
2
querydsl/.gitignore
vendored
2
querydsl/.gitignore
vendored
@@ -35,3 +35,5 @@ out/
|
|||||||
|
|
||||||
### VS Code ###
|
### VS Code ###
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
db.mv.db
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.example.querydsl;
|
||||||
|
|
||||||
|
import com.example.querydsl.entity.Member;
|
||||||
|
import com.example.querydsl.entity.QMember;
|
||||||
|
import com.example.querydsl.entity.Team;
|
||||||
|
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||||
|
import org.assertj.core.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.persistence.EntityManager;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.*;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
@Transactional
|
||||||
|
public class QuerydslBasicTest {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
EntityManager em;
|
||||||
|
|
||||||
|
JPAQueryFactory queryFactory;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach(){
|
||||||
|
queryFactory = new JPAQueryFactory(em);
|
||||||
|
|
||||||
|
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, teamB);
|
||||||
|
Member member4 = new Member("member4", 40, teamB);
|
||||||
|
em.persist(member1);
|
||||||
|
em.persist(member2);
|
||||||
|
em.persist(member3);
|
||||||
|
em.persist(member4);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void startJPQL() {
|
||||||
|
// find member1
|
||||||
|
String qlString = "select m from Member m where m.username = :username";
|
||||||
|
Member findMember = em.createQuery(qlString, Member.class)
|
||||||
|
.setParameter("username", "member1")
|
||||||
|
.getSingleResult();
|
||||||
|
|
||||||
|
assertThat(findMember.getUsername()).isEqualTo("member1");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void startQuerydsl() {
|
||||||
|
QMember m = new QMember("m");
|
||||||
|
|
||||||
|
Member findMember = queryFactory
|
||||||
|
.select(m)
|
||||||
|
.from(m)
|
||||||
|
.where(m.username.eq("member1")) // 파라미터 바인딩 처리
|
||||||
|
.fetchOne();
|
||||||
|
|
||||||
|
assertThat(findMember.getUsername()).isEqualTo("member1");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user