第一步,编写配置类
2.配置类代码
package com.win.current_.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("mapper包地址")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2.PaginationInnerInterceptor的属性介绍
属性名 | 类型 | 默认值 | 描述 |
---|---|---|---|
overflow | boolean | false | 溢出总页数后是否进行处理, true调回到首页,false 继续请求 |
maxLimit | Long | 500 | 单页分页条数限制 |
dbType | DbType | 数据库类型 | |
dialect | IDialect | 方言实现类 |
第二步,测试
1.使用已有方法
@Test
public void testPage(){
//设置分页参数
Page<User> page = new Page<>(1, 5);//参数1为页码,参数2为每页的条数
mapper.selectPage(page, null);
//获取分页数据
List<User> list = page.getRecords();//当前页的数据
list.forEach(System.out::println);
System.out.println("当前页:"+page.getCurrent());
System.out.println("每页显示的条数:"+page.getSize());
System.out.println("总记录数:"+page.getTotal());
System.out.println("总页数:"+page.getPages());
System.out.println("是否有上一页:"+page.hasPrevious());
System.out.println("是否有下一页:"+page.hasNext());
}
2.使用自定义方法
1.mapper中定义接口方法
Page<放回值类型> 方法名(IPage<?> page)
2.在mapper.xml中编写SQL
<select id="方法名" resultType="放回值类型">
SQL语句
</select>
3.使用自定义方法
@Test
public void testPage(){
//设置分页参数
Page<User> page = new Page<>(1, 5);
mapper.方法名(page);
//获取分页数据
List<User> list = page.getRecords();
list.forEach(System.out::println);
System.out.println("当前页:"+page.getCurrent());
System.out.println("每页显示的条数:"+page.getSize());
System.out.println("总记录数:"+page.getTotal());
System.out.println("总页数:"+page.getPages());
System.out.println("是否有上一页:"+page.hasPrevious());
System.out.println("是否有下一页:"+page.hasNext());
}