본문 바로가기
반응형

Spring Framework/JPA23

JPA 쿼리메소드 조회 조건에 IN 넣는 방법 JPA 쿼리메소드를 사용할 경우 조건으로 In을 넣어주려고 하는데 쿼리로 보자면 select * from sample where id in (1, 2) 이런 느낌인데 매우 간단하게 추가할 수 있다 먼저 Repository 부분에 findBy컬럼명In(List) 을 작성해 준 후 이미지와 같이 List 타입의 파라미터를 넣어주면 id가 1, 2인 항목만 조회되는 것이 보인다 2022. 12. 9.
JPA 쿼리메소드 LocalDateTime 조회 조건 설정방법 JPA Repository에 쿼리 메소드를 작성 시 LocalDateTime 타입 컬럼 조회조건을 설정해 주려면 아래와 같은 방식으로 사용해주면 된다 between List findBy컬럼명Between(LocalDateTime startDateTime, LocalDateTime endDateTime); > List findBy컬럼명After(LocalDateTime localDateTime); List findBy컬럼명GreaterThan(LocalDateTime localDateTime); >= List findBy컬럼명GreaterThan(LocalDateTime localDateTime); 2022. 12. 7.
JPA Count 가져오는 방법 Long countBy(); Long countByGender(String gender); JPA에서 테이블 조회 시 Count 값을 가져오려면 Repository에 CountBy() 메소드를 추가해주면 되는데 만약 조회조건이 있다면 CountBy컬럼명(Param param) 과 같이 사용해주면 된다 마지막으로 count 조회 시 Long 타입으로 리턴하기 때문에 반드시 Return 데이터 타입을 Long으로 잡아줘야 한다 2022. 8. 15.
JPA 조회할 Row 갯수 지정해서 가져오는 방법(Limit) 위 이미지와 같은 SAMPLE 테이블에서 LIMIT 같은 개념으로 조회 시 AGE 기준으로 내림차순 정렬해서 상단 2개 항목만 조회하려고 하는데 JPA에서는 find ... 이런 식으로 메소드명을 작성해주면 되는데 예제로 상단 2개만 끌어온다고 치면 findTop2~~ 이렇게 작성해주면 끝이다 (한개만 가져올 경우에는 findTop~~) List findTop2ByOrderByAgeDesc(); [Sample(id=4, name=수진, gender=W, age=30, createdDate=null, updatedDate=null) , Sample(id=2, name=수철, gender=M, age=25, createdDate=null, updatedDate=null)] 예제를 보면 findTop2ByOr.. 2022. 8. 15.
JPA 조회 시 OrderBy 거는 방법 JPA에서 위 이미지와 같은 Sample 테이블을 가지고 조회 시 Age 컬럼을 기준으로 내림차순 정렬해서 가져오려고 하는데 List findByGenderOrderByAgeDesc(String gender); [Sample(id=4, name=수진, gender=W, age=30, createdDate=null, updatedDate=null) , Sample(id=3, name=영희, gender=W, age=25, createdDate=null, updatedDate=null)] List findAllByOrderByAgeDesc(); [Sample(id=4, name=수진, gender=W, age=30, createdDate=null, updatedDate=null) , Sample(id=2, .. 2022. 8. 15.
JPA 조회 시 Between 사용방법 정리 이미지와 같은 Sample 테이블에서 JPA를 이용하여 조회 시 SELECT * FROM SAMPLE WHERE AGE BETWEEN 20 AND 25 와 같이 age가 20~25 사이인 값을 뽑아오려고 하는데 Repository로 이동한 뒤 findByAgeBetween(Long startAge, Long endAge) findBy컬럼명Between(start, end) 위와 같은 메소드를 사용해주면 되는데 실제 적용시에는 컬럼명 부분만 변경해주면 된다 sampleRepository.findByAgeBetween(20L, 25L) [Sample(id=1, name=철수, gender=M, age=20, createdDate=null, updatedDate=null) , Sample(id=2, name=.. 2022. 8. 14.

반응형