一、基本信息
1、pom.xml
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.4.0</version></dependency>
2、MybatisPlusConfig
@Configurationpublic class MybatisPlusConfig {@Beanpublic ConfigurationCustomizer mybatisConfigurationCustomizer(){return configuration -> configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory());}/*** 分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}
二、Mybatis分页
1、实现
IPage<?> page = new Page<>(currentPage,pageSize);IPage<?> iPage = mapper.getList(query, page);long total = iPage.getTotal();List<?> list = iPage.getRecords();
2、防坑
前端传过来第一页currentPage = 1,不需要做currentPage-1处理。
如果将currentPage-1处理后:
当currentPage=1时,currentPage-1 = 0,但是iPage也会自动帮忙处理让page属性第一页等于1;
当currentPage=2时,currentPage-1 = 1,iPage的page属性第二页等于1;
所以这时候会遇到一个问题,第一页和第二页数据是相同的。
