基本使用
將分頁(yè)插件注入到bean中
@Configuration
public class MPConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
使用BaseMapper中提供的分頁(yè)方法
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.gt(User::getAge, 30);
Page<User> page = new Page<>(1, 2);
IPage<User> users = userMapper.selectPage(page, lambdaQueryWrapper);
System.out.println(users.getTotal());
System.out.println(users.getRecords());
自定義分頁(yè)
實(shí)際開(kāi)發(fā)中有的分頁(yè)查詢是多表聯(lián)查的,可以通過(guò)自定義SQL查詢的方式
- 注入分頁(yè)插件
@Configuration
public class MPConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
- 定義mapper接口
IPage<User> selectPageUser(Page<User> page, @Param(Constants.WRAPPER)Wrapper<User> wrapper);
- 定義XML文件
<select id="selectPageUser" resultType="com.naruto.mamba.entity.User">
select * from user ${ew.customSqlSegment}
</select>
- 使用分頁(yè)
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.gt(User::getAge, 30);
Page<User> page = new Page<>(1, 2);
IPage<User> users = userMapper.selectPageUser(page, lambdaQueryWrapper);