본문 바로가기

Spring/JPA20

Query Method 예제 - 4 (정렬) 상위 데이터 1개를 가져오는 구문 List findTop1ByName(String name); 테스트 코드 System.out.println("findTop1ByName: " + userRepository.findTop1ByName("martin")); 확인 마지막 한 줄을 가져오는 구문(정렬 후에 마지막 한줄을 가져온다.) // 역순으로 정렬해서 마지막 한줄을 출력하는 예제 List findTopByNameOrderByIdDesc(String name) 테스트 코드 System.out.println("findTopByNameOrderByIdDesc: " + userRepository.findTopByNameOrderByIdDesc("martin")); 확인 다중 정렬을 사용하는 예제 // Id의 역순,.. 2021. 7. 17.
Query Method 예제 - 3 해당 컬럼이 null이 아닌 값을 찾는 예제 List findByIdIsNotNull(); 테스트 코드 System.out.println("findByIdIsNotNull: " + userRepository.findByIdIsNotNull()); 원하는 값과 일치하는 데이터 출력 예제(in) List findByNameIn(List names); 테스트 코드 (배열로 파리미터를 입력한다.) System.out.println("findByNameIn: " + userRepository.findByNameIn(Lists.newArrayList("martin","dennis"))); 사용자 지정문자를 포함한 데이터를 출력하는 예제(like) List findByNameIn(List names); List fi.. 2021. 7. 17.
QueryMethod 예제 2 jpa 메소드를 생성할 때 by 이하의 절에 where 조건에 추가할 변수명을 입력하여 사용한다. and / or 조건 예제 // and, or 조건문 List findByEmailAndName(String email, String name); List findByEmailOrName(String email, String name); 테스트 코드 System.out.println("findByEmailAndName: " + userRepository.findByEmailAndName("martin@fastcampus.com","martin")); System.out.println("findByEmailOrName: " + userRepository.findByEmailOrName("martin@fastc.. 2021. 7. 17.
Query Method 구현 1 기존의 작성한 UserRepository에 메소드를 구현 참고 사이트: https://ykh6242.tistory.com/105 Spring Data JPA(2) - JpaRepository 쿼리 메소드 기능 해당 포스팅은 [ 자바 ORM 표준 JPA 프로그래밍 - 김영한 저 ]를 학습한 내용을 바탕으로 정리한 글입니다. 쿼리 메소드 기능 쿼리 메소드 기능은 스프링 데이터 JPA가 제공하는 특별한 기능이다. 크 ykh6242.tistory.com findBy뒤에 Dto 변수를 입력하면 자동으로 해당변수의 해당하는 데이터를 찾아온다. UserName으로 데이터를 찾는 메소드 구현 아래와 같은 리턴타입으로 변경할 수도 있다. Test 코드 작성 데이터를 입력하는 부분을 Dto() 함수로 따로 뺐다. // 테.. 2021. 7. 17.
JPA 메소드 예제 3 - update 원하는 데이터를 찾은 후 찾은 데이터를 수정한 후 다시 저장하여 조회하는 예제 // update 예제 User user = userRepository.findById(1L).orElse(null); user.setEmail("update@naver.com"); userRepository.save(user); Optional user1 = userRepository.findById(1L); System.out.println(user1.toString()); 2021. 7. 11.
JPA TEST 코드 예제 2 flush(), saveAndFlush(): 쿼리를 조절하는 메소드가 아니라 DB 반영 시점을 조절하는 메소드이다. // userRepository.save(new User("new martin", "Newmartin2@fastcampus.com", LocalDateTime.now(), LocalDateTime.now())); userRepository.saveAndFlush(new User("new martin", "Newmartin2@fastcampus.com", LocalDateTime.now(), LocalDateTime.now())); // userRepository.flush(); userRepository.findAll().forEach(System.out::println); count():.. 2021. 7. 11.