在已经集成了Mybatis Plus的SpringBoot项目中加入如下分页拦截器的配置,让MybatisPlus支持分页
@Configuration
public class MybatisPlusConfiguration {
//配置分页拦截器
@Bean
public MybatisPlusInterceptor getMybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}
不配置分页拦截器查询的时候selectPage默认查询全部【intellij-idea|MyBatis-Plus(四.Page分页查询)】用Page类实现分页查询
@SpringBootTest
public class PageTest{
?
@Autowired
UserMapper userMapper;
?
// 普通分页查询
@Test
public void testPage(){
Page page = new Page<>(2, 3);
// 第二页, 每页三行
final Page page1 = userMapper.selectPage(page, null);
// 后面也可以加Wrapper
page.getRecords().forEach(System.out::println);
// 既可以取参数的page
page1.getRecords().forEach(System.out::println);
// 也可以取返回的page1
// 两种方法取得分页结果
System.out.println(page.getCurrent());
// 当前页
System.out.println(page.getSize());
// 每页大小
System.out.println(page.getPages());
// 总页数
System.out.println(page.getRecords());
// 这一页的内容List集合
}// 返回值是Map的分页查询
@Test
public void testMap(){
Page
注意这种做法的策略是先查询所有页, 然后从所有页中查询你想要的页
如果定义Page时第三个参数searchCount(是否查询所有)为false, 那么不会查询所有字段, 直接查询某一页
Pagepage = new Page<>(2, 3, false); // 第三个参数是是否查询所有
推荐阅读
- 常见的一些容器部署|CentOS7安装JDK8
- Java小案例|Jdbc数据库的连接工具类
- Java小案例|如何搭建Mybatis的开发基础环境
- java|lamda表达式是啥(是如何来的呢?如何快速理解lamda表达式)
- lambda|Lamda表达式详解
- 在Intellij IDEA搭建Scala开发环境,以及使用Intellij IDEA开发Scala程序
- spark|莎士比亚统计最高的词频数 java,spark,rdd
- 单片机|SWM32系列教程3-时钟配置和GPIO
- java|Android App 沉浸式状态栏解决方案