티스토리 뷰

반응형

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페이지

반응형
댓글