Framework & Management/Spring
11월 1일 화요일 [코드로 배우는 스프링웹프로젝트] - 5day(3)
구일일구
2022. 11. 1. 21:18
반응형
Chapter13. MyBatis와 스프링에서 페이징 처리
페이징 처리를 위해서 필요한 파라미터
1) 페이지 번호 : pageNum
2)한 페이지당 몇 개의 데이터(amount)를 보여줄 것인가
페이지 번호와 몇 개의 데이터가 필요한지 별도의 파라미터로 전달하는 방식도 나쁘진 않지만,
아예 이 데이터들을 하나의 객체로 묶어서 전달하는 방식이 나중을 생각하면 좀 더 확장성이 좋음
Criteria : 검색의 기준을 의미함
pageNum과 amount 값을 같이 전달하는 용도.
생성자를 통해서 기본값을 1페이지 & 10개로 지정해서 처리함
Lombok을 통해서 getter/setter를 생성함
package org.zerock.domain;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Criteria {
private int pageNum;
private int amout;
public Criteria() {
this(1, 10);
}
public Criteria(int pageNum, int amount) {
this.pageNum = pageNum;
this.amout = amount;
}
}
MyBatis 처리와 테스트
BoardMapper는 인터페이스와 어노테이션을 이용하기 때문에 페이징 처리와 같이 경우에 따라 SQL 구문 처리가 필요한 상황에선 복잡하게 처리됨
따라서 Criteria 타입을 파라미터로 사용하는 메서드를 작성함
...293페이지
반응형