일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 그리디
- pointcut
- 김영한
- Greedy
- db
- Thymeleaf
- JDBC
- 백준
- spring
- 스프링
- Servlet
- JPQL
- Proxy
- http
- QueryDSL
- Android
- springdatajpa
- SpringBoot
- transaction
- 인프런
- 스프링 핵심 원리
- java
- 알고리즘
- 자바
- AOP
- kotlin
- 스프링 핵심 기능
- Exception
- jpa
- Spring Boot
- Today
- Total
목록QueryMethod (6)
개발자되기 프로젝트
1. JPA 반환 타입 @Test public void returnType(){ Member member1 = new Member("aaa", 10); Member member2 = new Member("bbb", 20); memberRepository.save(member1); memberRepository.save(member2); List members = memberRepository.findListByUserName("aaa"); Optional optionalMember = memberRepository.findOptionalByUserName("aaa"); Member findMember = memberRepository.findMemberByUserName("aaa"); /** * Coll..
이전에 page에 관련해서 간략히 정리했던 부분이 있다. https://bsh-developer.tistory.com/13 아래처럼 name이 일치하는 entity를 page로 return을 해보자. 참고로 Pageagble은 paging을 요청하는 것을 의미한다. Page findByName(String name, Pageable pageable); Page findByName(String name, Pageable pageable); System.out.println("find by name with paging : " + userRepository.findByName("hyun", PageRequest.of(0,2, Sort.by(Sort.Order.desc("id")))).getContent())..
1.이름으로 top 1 찾기 List findTop1ByName(String name); System.out.println("find top 1 by name : " + userRepository.findTop1ByName("hyun")); where 조건에서 limit가 걸린걸 볼 수 있다. where user0_.name=? limit ? find top 1 by name : [ User(name=hyun, email=hyun@naver.com, createdAt=2021-05-27T20:20:01.032253, updatedAt=2021-05-27T20:20:01.032253, id=1) ] 2. last one 찾기 그러면 혹시 음 findLast1_같은 형식도 가능할까..??? 불가능하다. 대신..
이번엔 bean값과 관련된 keyword를 살펴보자. 1. IS_NOT_NULL List findByIdIsNotNull(); System.out.println("find by id is not null : " + userRepository.findByIdIsNotNull()); id가 primary key 여서... null인 경우가 없다.. 2. in / notIn 자주 사용된다~~~리스트 안에 있는 이름들을 가진 entity를 찾아보자. List findByNameIn(List names); System.out.println("find by name in : " + userRepository.findByNameIn(Lists.newArrayList("hyun", "kim"))); 테스트 결과 해당 ..
앞서 Query Method에서 사용한 예시 외에도 부가적으로 제공하는 키워드가 있다. and, or등 여러 logical keywork가 존재한다. 써보자! 1.And / Or 먼저 And!!!!! email과 name을 둘다 사용해서 찾아보자! --> findByEmailAndName(String email, String name)을 만들들고 테스트! List findByEmailAndName(String email, String name); System.out.println("find by email and name : " + userRepository.findByEmailAndName("hyun@google.com", "hyun")); 테스트 결과를 보면 where 조건에서 email과 name이..
findByName()이라는 method를 만들어 보자. 진짜 간단하다.. UserRepositlry interface에 아래와 같이 추가했당. public interface UserRepository extends JpaRepository { List findByName(String name); } 그리고 아래처럼 test코드를 작성해보자. @Test void select(){ System.out.println(userRepository.findByName("hyun")); } 그러면 이름이 일치하는 entity가 List타입으로 불어와졌다...신기함.. JPA를 사용했을때 체감으로는 쉽게 작성하고 많은 혜택을 받는게 쿼리메서드 생성한 repository에 naming base로 method를 선언하기..