본문 바로가기

분류 전체보기590

스프링 데이터 JPA 페이징과 정렬 페이징과 정렬 파라미터 org.springframework.data.domain.Sort : 정렬 기능 org.springframework.data.domain.Pageable : 페이징 기능 (내부에 Sort 포함) 특별한 반환 타입 org.springframework.data.domain.Page : 추가 count 쿼리 결과를 포함하는 페이징 org.springframework.data.domain.Slice : 추가 count 쿼리 없이 다음페이지만 확인 가능 (내부적으로 limit + 1 조회) List : 추가 count 쿼리 없이 결과만 반환 페이징과 정렬 사용 예제 Page findByUsername(String name, Pageable pageable); //count 쿼리 사용 Sli.. 2022. 5. 6.
순수 JPA 페이징과 정렬 순수 JPA 페이징과 정렬 JPA는 페이징을 다음 두 API로 추상화한다. - setFirstResult(int startPosition) : 조회 시작 위치 - setMaxResult(int maxResult) : 조회할 데이터 수 아래는 순수 JPA 페이징 예시 이미지이다. Select * from 테이블명 orders LIMIT 숫자(★); 숫자만큼의 행 출력 Ex) 10행 출력 select * from member ORDERS LIMIT 10; Select * from 테이블명 orders LIMIT 숫자(★) OFFSET 숫자(♥); LIMIT 숫자 : 출력할 행의 수 OFFSET 숫자 : 몇번째 row부터 출력할 지. (1번째 row면 0) Ex) 10행씩 출력 1페이지 : select * f.. 2022. 5. 6.
타임리프 문법 사용법 (유틸리티 객체 등) 정리 Thymeleaf는 웹 환경과 비웹 환경 모두에서 작동할 수 있는 Java XML / XHTML / HTML5 템플릿 엔진 - Wikipedia 1. Object (객체 속성 접근) 부모 태그에 th:object로 지정된 객체의 속성에 접근 가능하다. 객체 속성 설정 -> th:object="${itemFormDto}" 자식애서 객체 속성에 접근 -> th:field="*{itemSellStatus}" -> th:field="*{id}" 상품 등록 판매중 품절 2. 리스트 Size 출력 ${#lists.size()} : 전달받은 list size 체크 기능 ${#lists.isEmpty()} : 빈 list인지 체크 기능 3. 반복 처리 th:each="num: ${#numbers.sequence(1,5.. 2022. 5. 5.
JPA 모델링 설계하는 순서 '양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리' 강의 내용 참조 JPA 모델링 할 때 단방향 매핑으로만 설계를 끝내야 한다. 실무에서 테이블 설계를 머리에서 그리면서 객체 설계를 같이 들어가야 한다, 그 시점에 테이블 관계에서 대략적인 foreign key가(1:N) 다 나온다. 그 때 다 쪽에서 단방향 매핑을 걸면서 들어가야 한다. 이 시점에 양방향 매핑까지 할 필요는 없다. 처음 설계 단계에서는 단방향 매핑으로만 설계를 끝내야 한다. 양방향 매핑은 후에 필요할 때 그 때 추가 해서 사용하면 된다. 2022. 4. 9.