MybatisPlus中的分页插件的使用
程序员文章站
2022-07-13 09:13:23
...
今天我将为大家讲解一下如何在springboot中集成MybatisPlus实现分页效果,首先我们将搭建一下环境并引入相关依赖。
环境:
Springboot:2.2.1.RELEASE
MybatisPlus:3.3.1
依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
接下来我们来看一下详细的步骤
(1)、添加分页插件
@EnableTransactionManagement
@Configuration
@MapperScan("com.atguigu.mybatis_plus.mapper")
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
usermapper.java
// Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
public interface UserMapper extends BaseMapper<User>{
}
(2)、测试
@Test
public void testSelectPage(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18); // 年龄等于18
Page<User> page = new Page<>(1, 5); //当前页为1,每页5条
Page<User> pageParam = userMapper.selectPage(page, null); //第二个参数:实体对象封装操作类,如果没有可以为空
List<User> records = pageParam.getRecords(); //获取总记录列表
records.forEach(System.out::println); //遍历
System.out.println(pageParam.getPages());//总页数
System.out.println(pageParam.getTotal());//总记录数
System.out.println(pageParam.getCurrent());//当前页码
System.out.println(pageParam.getSize());//每页记录数
System.out.println(pageParam.hasNext());//是否有下一页
System.out.println(pageParam.hasPrevious());//是否有上一页
}
结果:
由于表里数据年龄等于18的只有三条,所以只查询出了3条数据。如果我们只进行简单的分页查询,我们使用BaseMapper里提供的CRUD功能足够了,但一些复杂的比如关联查询等,就需要我们自定义xml文件了。好了,MybatisPlus中的分页插件的简单使用就讲到这了,有什么错误大家可以指出来,我们可以一起探讨!