SpringBoot + MyBatis-Plus 페이지 나누기 플러그인이 적용되지 않는 해결 방법
12945 단어 프로그래머
@Configuration
public class MyBatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
테스트 방법
@Test
public void selectPage() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("age", 23);
Page<User> page = new Page<>(1,2);
IPage<User> iPage = userMapper.selectPage(page, queryWrapper);
logger.info(" ={}", iPage.getPages());
logger.info(" ={}", iPage.getTotal());
List<User> users = iPage.getRecords();
for (User user : users) {
logger.info(" ={}", JSON.toJSONString(user));
}
}
조회 결과는 분명히 설정된 조회 수량이 2인데, 모든 데이터를 조회해낸다
=0
=0
={"age":23,"email":"xb163.com","id":1193812778507046913,"managerId":"1193812575125258242","name":" "}
={"age":33,"email":"zyq163.com","id":1193817523615461378,"managerId":"1193812575125258242","name":" "}
={"age":32,"email":"lly163.com","id":1193818710385369089,"managerId":"1193810888373317634","name":" "}
보기SQL 실행 페이지가 없음
SELECT id,name,manager_id,email,age
FROM user
WHERE (age >= 23);
원래 시작 클래스에 스캐너가 지정되지 않았습니다. 설정 클래스와 구성 요소 클래스는 기본적으로 시작 클래스가 있는 패키지나 하위 패키지에 있어야 합니다. 그렇지 않으면 @ComponentScan 지정을 사용해야 합니다. 시작 클래스에 추가하면 저는 모든 패키지를 직접 스캐너합니다. 설정 클래스가 있는 패키지를 직접 스캐너할 수 있습니다.
@ComponentScan("com.example.mybatis.plus.mybatisplus.*")
지금 테스트 중입니다.
=2
=3
={"age":23,"email":"xb163.com","id":1193812778507046913,"managerId":"1193812575125258242","name":" "}
={"age":33,"email":"zyq163.com","id":1193817523615461378,"managerId":"1193812575125258242","name":" "}
이때 SQL은 두 문장의 총수를 먼저 조사한 것이다
SELECT COUNT(1)
FROM user
WHERE (age >= 23);
기록을 재검토하다
SELECT id,name,manager_id,email,age
FROM user
WHERE (age >= 23)
LIMIT 0,2;