MyBatis 에서 PageHelper 가 적용 되 지 않 는 솔 루 션
3343 단어 MyBatisPageHelper효력 이 발생 하지 않다
오늘 pageHelper 를 사용 하 였 는데 PageHelper.startPage(page,pageSize)가 설정 되 어 있 음 을 발 견 했 습 니 다.pageSize 는 10 으로 설정 되 었 으 나 결 과 는 페이지 를 나 누 지 않 고 모든 데 이 터 를 찾 았 습 니 다.
문제 해결:
이 유 는 my batis 의 의존 버 전 문제 입 니 다.이전에 설정 한 것 은 1.0.0 버 전 입 니 다.이 버 전 은 페이지 차단 을 지원 하지 않 습 니 다.
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
그래서 1.1.1 버 전 으로 수정 해서 문 제 를 해결 하도록 하 겠 습 니 다.
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
MyBatis PageHelper 페이지 속성 을 수 동 으로 설정 할 수 없습니다환경:springboot+mybatis,페이지 help 플러그 인 사용
다음 의존:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
<exclusions>
<exclusion>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
질문 설명:페이지 대상 을 수 동 으로 구축 합 니 다.설정 한 pages 속성 은 유효 하지 않 습 니 다.예 를 들 어 설정 값 은 3 이 고 가 져 올 때 0 입 니 다.
원인:
구 조 된 Page 대상 은 pageSize 속성 을 설정 하지 않 았 습 니 다.page 대상 의 setTotal()방법 을 호출 할 때 이 방법 내 부 는 pageSize 속성 에 따라 pageSize 속성의 값 을 초기 화 합 니 다.
Page 대상 의 setTotal 방법 원본 은 다음 과 같 습 니 다.
public void setTotal(long total) {
this.total = total;
if (total == -1) {
pages = 1;
return;
}
// pageSize<=0, pages=0; pageSize 0
if (pageSize > 0) {
pages = (int) (total / pageSize + ((total % pageSize == 0) ? 0 : 1));
} else {
pages = 0;
}
// ,
if ((reasonable != null && reasonable) && pageNum > pages) {
pageNum = pages;
calculateStartAndEndRow();
}
}
수 동 구조 페이지 대상 코드 는 다음 과 같 습 니 다.
// page
Page<StudyRecordVo> pageResult = new Page<>();
// pageSize,setPages , setTotal pageResult pages
// : 1. pageSize setTotal ; 2. setTotal pages
pageResult.setPageSize(pageDto.getPageSize());
pageResult.setPages(totalPages);
pageResult.setTotal(totalElements);
pageResult.addAll(studyRecordVoList);
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MyBatis + SpringBoot로 CRUD 앱 만들기 ※ 불필요한 것은 배 ※ 1/2MyBatis를 사용하여 ToDo 목록을 만듭니다. 할 일 등록 (블랭크를 등록 할 수 없음) 할 일보기 할 일 변경 할 일 지우기 SpringBoot의 CRUD가 가능한 책은 있지만 MyBatis를 사용한 것은 적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.