配置拦截器组件
publicclassMyBatisPlusConfig { //分页插件publicMybatisPlusInterceptorMybatisPlusInterceptor(){ MybatisPlusInterceptormybatisPlusInterceptor=newMybatisPlusInterceptor(); mybatisPlusInterceptor.addInnerInterceptor(newPaginationInnerInterceptor()); returnmybatisPlusInterceptor; } }
使用 Page 对象查询
classItCastBookStoreApplicationTests { privateUserDaouserDao; voidcontextLoads() { /*查询第一页,显示 5条信息SELECT * FROM user LIMIT 0,5*/Page<User>page=newPage<>(1,5); userDao.selectPage(page, null); page.getRecords().forEach(System.out::println); System.out.println("总数量"+page.getTotal()); System.out.println("页数:"+page.getPages()); System.out.println("页大小:"+page.getSize()); System.out.println("当前页:"+page.getCurrent()); } }
查看结果
- 默认会进行两次查询,第一次查询全部,第二次分页查询。
查询两次会拖累速度,可以通过 Page<User> page = new Page<>(1,5,false);
设置 false 来实现跳过全部查询,但总数量和页数会为0