首页 > 其他分享 >MybatisPlus的分页插件

MybatisPlus的分页插件

时间:2024-06-04 17:33:14浏览次数:23  
标签:插件 MybatisPlus 分页 Page import new page

在未引入分页插件的情况下,MybatisPlus是不支持分页功能的,IServiceBaseMapper中的分页方法都无法正常起效。 所以,我们必须配置分页插件。

配置分页插件

在项目中新建一个配置类: 其代码如下:
package com.itheima.mp.config;

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 MybatisConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        // 初始化核心插件
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 添加分页插件
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

分页API

编写一个分页查询的测试:
@Test
void testPageQuery() {
    // 1.分页查询,new Page()的两个参数分别是:页码、每页大小
    Page<User> p = userService.page(new Page<>(2, 2));
    // 2.总条数
    System.out.println("total = " + p.getTotal());
    // 3.总页数
    System.out.println("pages = " + p.getPages());
    // 4.数据
    List<User> records = p.getRecords();
    records.forEach(System.out::println);
}
运行的SQL如下: 这里用到了分页参数,Page,即可以支持分页参数,也可以支持排序参数。常见的API如下:
int pageNo = 1, pageSize = 5;
// 分页参数
Page<User> page = Page.of(pageNo, pageSize);
// 排序参数, 通过OrderItem来指定
page.addOrder(new OrderItem("balance", false));

userService.page(page);
 

标签:插件,MybatisPlus,分页,Page,import,new,page
From: https://www.cnblogs.com/linzepro/p/18231347

相关文章

  • Jessibuca 视频插件Vue2使用
    官网:http://jessibuca.com/document.html#window-jessibuca-is-not-a-constructor使用环境 vue2,第一步、需要如下三个文件,  第二步、在index.html中引入jessibuca.js<scriptsrc="./jessibuca.js"></script> 第三步,随便建个文件初始化,Icon使用的是iView组件,<te......
  • AI绘画最新Stable Diffusion安装包+教程+模型+插件+全套入门资料来了,免费拿!
    大家好,我是设计师阿威这篇文章主要给大家分享一些AI绘画方面的学习资料、AI工具以及模型插件、视频教程等等。如果你是新手入门,就一定不要错过这些资料!获取方式:请查看文章底部1.stablediffusion安装包随着技术的迭代,目前StableDiffusion已经能够生成非常艺术化的......
  • [22] 虚幻引擎知识拓展 智能指针、JSON解析、插件
    Day1大纲虚幻智能指针  共享指针  共享引用JSON解析对象型、数组型、解析Json文件、书写Json、读取场景Actor保存到Json任务:封装高德地图天气系统插件给蓝图使用内容虚幻智能指针创建共享指针////创建共享指针//TSharedPtr<FMyClass>pMyClass=MakeShareab......
  • 使用 Helmfile 插件进行 Argo CD 部署 - 未找到卷挂载
    我正试图在我的Rancherkubernetes集群中使用Helmfile插件设置ArgoCD部署,并遵循此参考文档。但是,我遇到了找不到卷挂载的问题。以下是我的设置细节:<代码Deployment.yaml:apiVersion:apps/v1类型:部署元数据:名称:argocd-repo-server命名空间:argocdspec:tem......
  • vue项目,在切换分页时,render不重新渲染的问题
    在vue项目过程中,遇到table切换分页,数据已修改但页面没有渲染的情况。是因为数据层次太多,没有触发render函数进行自动更新。需要减少嵌套层级。九代码:render:function(h,data){if(data.row.uploadStatus===0&&(_this.data_permissions.includes(_this.all_data_......
  • Notepad++文件内容对比插件
    遇到一个比较有意思的测试任务,上报日志功能接口路由需要更换V2版本,需要测试对比V1和V2版本上报的数据有没有异常点思路很简单,使用相同的数据遍历调用V1和V2版本的接口路由,取出最后的日志接口对比即可Notepad++插件compare安装插件--插件管理--搜素compare安装即可(安装插件后程......
  • KRPano插件一键解密大师1.4.0更新
    KRPano插件一键解密大师,可以一键解密KRPano的XML/JS插件,并可以分析下载静态和动态网站的所有资源。软件下载安装即可使用,解密仅需鼠标一键点击即可,无需配置任何开发环境,方便全景开发人员研究学习全景开发,了解KRPano插件运行原理等。  1.4.0版本更新 1.修复某些网址无法......
  • PDPS二次开发插件流程
    PDPS二次开发插件流程一.第一步通过C#创建插件dll1.在本地安装PDPS的安装目录下找到eMpower下的Tecnomatix.Engineering.dll,Tecnomatix.Engineering.Ui.dll2.在vs中新建winform窗体,引用以上目录下的两个dll文件3.新建一个类文件例如叫FristTestPlugin,继承Engineering下的TxBut......
  • Eclipse 下 Activiti Designer 插件安装教程
    Activiti开源工作流引擎简介:什么是工作流?工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。个人理解:工......
  • Nocobase快速上手 - 开发第一个插件
    在前面的几篇博文中,记录了在Nocobase中配置collection和界面,这篇文章开始插件的开发。插件可以扩展Nocobase的业务能力,解锁更强大的功能。环境搭建创建插件需要配置nocobase的开发环境,笔者采用的是clone官方代码repo的方式。gitclonehttps://github.com/nocobase/noco......