上车前晒一张后台系统分页的效果图:后期再出教程吧用到了element-ui框架🏭ps:期待一下吧💜
文章目录
前言
mybatis-plus官网:官网传送门
看过官网的朋友肯定知道,这官网里对这一块的内容讲的并不是很深,讲的比较简单,这也增加了开发者的难度。
在官网里对分页插件的讲解最重要的就是PaginationInnerInterceptor这个分页拦截器,玩过PageHelper的朋友都知道,分页它的本质就是内部封装了一个拦截器,对于满足满足条件的数据,起到一个过滤的作用🙋♀️这会和我们后续的自定义条件有关,毕竟也是同样的道理,你自定义一个条件来“筛选数据”,只展示满足条件的数据
但是在学习这部分内容之前,你必须先掌握条件构造器这部分内容的知识,否则后面会看迷糊🤤🤯
[官网插图]
基本使用
1.导入依赖
<!-- SpringBoot集成mybatis框架 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
2.mybatis-plus配置
这里可自行跳过,按照你的需求来配置,不配置也可以
# MyBatis配置
mybatis-plus:
# 搜索指定包别名
typeAliasesPackage: com.**.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
3.创建分页配置类MybatisPlusConfig
既然是配置类,别忘了加@Configuration注解😎
配置Bean对象
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //配置插件类
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); //具体到配置哪一个插件
return interceptor;
}
}
4.方法剖析+测试分页[重]
其实如果你使用了mybatis-plus,那么在mapper提供的API当中就有可以进行分页的方法selectPage,这个方法需要两个参数,一个为Page对象,另一个为wrapper对象[也就是前面说到的将符合条件的数据查询出来,为null值则表示查询全部数据],我们直接调用即可🙋♀️,在下一章节会使用到wrapper来自定义分页查询
这个函数详情为
示例代码[后]
/**
* @program: RuoYi-Vue-master
* @description: mybatisPlus分页插件测试
* @author: xmonster_大魔王
* @create: 2022-07-28 11:48
**/
@SpringBootTest
public class MybatisPageTest {
@Autowired
public ProductMapper mapper;
@Test
public void test(){
Page<Product> page = new Page<>(1, 3);
mapper.selectPage(page,null);
System.out.println(page);
}
}
测试结果
重点来看这一段SQL:
由于我们这里是从第一页开始,所以limit只有一个参数,当前页1被省略,可以到到分页插件的本质就是在sql语句最后帮我们加上limit
page对象中还可以查看很多其他信息:
得到记录数、得到每页大小、是否有前一页等等,可以去测着玩玩🧤