PageHelper를 이용한 고수준 Pagination 구현
application.properties
#mybatis pageHelper
pagehelper.helper-dialect=oracle
pagehelper.reasonable=true
pom.xml
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.6</version>
</dependency>
Oracle
MySQL
Java
// SQL 문장을 바꿔서, 5개의 행으로 이루어진 페이지의 3페이지를 가져온다
PageHelper.startPage(3,5); // PageHelper.startPage(pageNum=3, pageSize=5);
// mapper에서 가져온 List<Board>를 PageInfo 객체로 받는다
PageInfo<Map<String,Object>> pageInfo = new PageInfo<>(mapper.getList());
log.info(pageInfo);
model.addAttribute("pageInfo",pageInfo.getList());
return "board/pageForlist";
// 한 개의 글에 딸린 첨부파일의 정보는 한개의 문자열로 결합
SELECT LISTAGG(fname,',') WITHIN GROUP (ORDER BY num) fnames FROM attach
GROUP BY bnum;