문제 설명:
마이크로 서비스에서는 쿼리 인터페이스를 사용하고 pageHelper를 사용합니다. 데이터베이스에는 8 행의 데이터 만 있습니다. 문제는 다음과 같습니다.
pageNum = 1 & pageSize = 10, 반환 된 데이터는 8 개의 데이터입니다.
pageNum = 2 & pageSize = 10, pageNum = 3 & pageSize = 10 등 ... 여전히 데이터를 반환합니다 !!!
이유:
합리적인 페이징 매개 변수 합리화라고하는 pageHelper와 함께 제공되는 기능으로 3.3.0 이상에서 사용할 수 있으며 기본값은 false입니다. 합리화가 활성화되면 pageNum <1이면 첫 페이지가 쿼리되고 pageNum> pages이면 마지막 페이지가 쿼리됩니다. 합리화가 비활성화되면 pageNum <1 또는 pageNum> 페이지가 비활성화되면 빈 데이터가 반환됩니다.
풀다:
일반 프로젝트에 참여하십시오 <property name="reasonable" value="true" />
.
Spring Boot 프로젝트 내부 :pagehelper.reasonable=true 当为false的时候,如果当前页超过最大页数后,就不会返回数据,当为true的时候,当前页超过最大页数后,会返回最后一页的数据
# PageHelper分页插件
pagehelper:
helperDialect: mysql
reasonable: false
supportMethodsArguments: true
params: count=countSql
요약 : 참 또는 거짓 여부에 관계없이 자신의 비즈니스 시나리오에 따라 설정할 수 있습니다. 최대 페이지를 초과 할 경우 데이터를 반환해야 할 경우 참으로 설정하고 필요하지 않으면 거짓으로 설정합니다. 반환 데이터.