##springboot中使用mybatisplus自帶插件實現分頁 ####1.導入mybatisplus分頁依賴 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId ...
springboot中使用mybatisplus自帶插件實現分頁
1.導入mybatisplus分頁依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.3.1</version>
</dependency>
2.添加MybatisPlusConfig配置類
@Configuration
@MapperScan("scan.your.mapper.package")
public class MybatisPlusConfig {
/**
* 新的分頁插件,一緩和二緩遵循mybatis的規則,需要設置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現問題(該屬性會在舊插件移除後一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
}
3.測試分頁
@Test
void testPage(){
//1、創建page對象
//傳入兩個參數:當前頁 和 每頁顯示的記錄數
Page<User> page = new Page<>(1,3);
//調用mp分頁查詢的方法,null為沒有條件查詢
userMapper.selectPage(page,null);
Page pageinfo = new Page(page,size);
//帶條件查詢
QueryWrapper<Bbooks> wrapper = new QueryWrapper<>();
wrapper.eq("name", booksPageRequest.getName());
wrapper.eq("witer",booksPageRequest.getWiter());
IPage<Bbooks> iPage = bbooksMapper.selectPage(pageinfo, wrapper);
//通過page對象獲取分頁數據
System.out.println("當前頁碼:" + page.getCurrent());//獲取當前頁
System.out.println("數據的list集合:" + page.getRecords());//每頁數據的list集合
System.out.println("每頁顯示的記錄數:" + page.getSize());//每頁顯示的記錄數
System.out.println("總記錄數:" + page.getTotal());//總記錄數
System.out.println("總頁數:" + page.getPages());//總頁數
System.out.println("是否有下一頁:" + page.hasNext());//是否有下一頁
System.out.println("是否有上一頁:" + page.hasPrevious());//是否有上一頁
}
圖片: