SpringBoot 集成 MybatisPlus 四

您所在的位置:网站首页 mybatis-plus分页查询 SpringBoot 集成 MybatisPlus 四

SpringBoot 集成 MybatisPlus 四

2023-04-13 11:15| 来源: 网络整理| 查看: 265

0 插入数据

因之前删除了部分数据,要体现分页查询的效果,最好添加一些数据。

image.png

1 增加插件

在项目中创建一个配置类,在其中增加 MybatisPlus 中用于分页查询的插件,并引入相关类。 因为不同的数据库,用于分页的关键字也有差异,所以需要指定数据库类型:DbType.MYSQL。

需要在类及方法上添加注解,否则不会被 SpringBoot 扫描到。

类名上添加注解 @Configuration,方法上添加注解 @Bean。

import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class ConfigureUtil { //配置分页插件 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } } 复制代码 2 执行查询 2.1 selectPage() 方法查询

在执行查询时,可以调用 selectPage() 方法,该方法中需要使用 Page 对象及 QueryWrapper 对象。

在 Page 对象中,可以指定分页查询时的当前页号、每页条数等信息。如果当前页号是0或者1时,查询的结果都是第1页的内容。 在 QueryWrapper 对象中,可以指定查询条件,这个和普通查询是一样的用法。

例如:查询所有用户中 remark 内容包含 “老师” 的记录:

//分页查询 @Test public void selectUserByPage(){ Page page = new Page(2, 2); QueryWrapper wrapper = new QueryWrapper(); wrapper.like("remark", "老师"); IPage iPage = userMapper.selectPage(page, wrapper); //总页数 System.out.println(iPage.getPages()); //总条数 System.out.println(iPage.getTotal()); //每页条数 System.out.println(iPage.getSize()); //当前页的结果集 System.out.println(iPage.getRecords()); //当前页号 System.out.println(iPage.getCurrent()); } 复制代码

在控制台中可以看到,实际执行了两次查询:

第一次是查询的总条数;

第二次是使用了 limit 关键字进行分页查询。

==> Preparing: SELECT COUNT(*) AS total FROM user WHERE (remark LIKE ?)

==> Parameters: %老师%(String)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3