java, spring

[Spring] 스프링에서 페이징 처리 (BoardController, BoardService 수정)

isaac.kim 2021. 7. 16. 00:09
728x90
반응형

[Spring] 스프링에서 페이징 처리  (BoardController, BoardService 수정)

 

이전 글 내용에 이어서 작성하고자 합니다.

2021.07.14 - [Spring] - [Spring] MyBatis와 스프링에서 페이징 처리

 

 

페이징 처리하는 SQL이 동작이 확인되었다면 MyBatis SQL 작업과 Mapper 세팅은 완료되었다고 볼 수 있습니다.

 

페이징 처리는 브라우저에서 들어오는 정보들을 기준으로 동작하기 때문에 BoardControllerBoardService 역시 전달되는 파라미터들을 얻는 형태로 수정해야 합니다.

 

BoardService 수정

BoardService 클래스 수정

 

메서드 수정을 했으니 테스트 코드를 작성하여 수정합니다.

 

src/ BoardServiceTests 클래스 일부

테스트 실행결과

테스트 실행결과 서비스도 정상적으로 작동하는 것을 확인했습니다. 다음은 실제 request를 처리하는 Controller를 수정합니다.

 

BoardController 수정

기존 BoardController의 list( )는 아무런 파라미터가 없이 처리되었기 때문에 pageNum과 amount를 처리하기 위해서 아래와 같이 수정합니다.

Criteria 클래스를 하나 만들어 두면 위와 같이 편하게 하나의 타입만으로 파라미터나 리턴 타입을 사용할 수 있기 때문에 여러모로 편리합니다.

 

BoardController 역시 이전에 테스트를 진행했으므로, pageNum과 amount를 파라미터로 테스트합니다.

실행결과

Controller 테스트도 완료되었습니다.

 


오늘은 페이징 처리 작업을 위한 Service, Controller를 작성(수정)하고 테스트 하는 과정에 대해 알아보았습니다.

728x90
반응형