MybatisPlus分页插件的使用

目录

🧂1.添加mybatisPlus依赖

🥓2.添加配置类

🌭3.添加分页接口 

🍿4. 添加实现类

🥞5.测试


1.添加mybatisPlus依赖

        <!--mybatisPlus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

2.添加配置类

  • 1.将其类标志位配置类
  • 2.创建MybatisPlusPageConfiguration对象,使用@Bean注解
  • 3.创建mybatisPlus拦截器对象并创建分页拦截器PageinationInnerInterceptor并将其添加
  • 4.返回创建好的对象

/**
 * 分页插件
 */
@Configuration
public class MybatisPlusPageConfiguration {

    /**
     * 分页插件配置
     * @return
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //新建mybatisPlus拦截器
        MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();
        //新建分页拦截器,并将其传递给mybatisPlus拦截器
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        //返回对象
        return mybatisPlusInterceptor;
    }
}

3.添加分页接口 

1.创建分页接口,返回包装类

2.使用@RequestParm接收前端传递过来的当前页码和当前页显示的条数

3.调用service层,并将参数传递过去

    @Autowired
    private CouponService couponService;


    @ApiOperation("分页查询优惠卷")
    @GetMapping("/page_coupon")
    public JsonData pageCouponList(
            @ApiParam(value = "当前页")
            @RequestParam(value = "page", defaultValue = "1") int page,
            @ApiParam(value = "每页显示多少条")
            @RequestParam(value = "size", defaultValue = "10") int size) {

        Map<String, Object> pageMap = couponService.pageCouponActive(page, size);
        return JsonData.buildSuccess(pageMap);
    }

4. 添加实现类

1.根据controller传递过来的page,size;创建Page对象

2.根据条件分页查询数据库,获取分页全部信息

3.对分页信息进行map包装

4.为避免dao层暴露,使用BeanUtils拷贝对象到Vo层

5.返回包装后的map集合

    /**
     * 分页查询
     *
     * @param page :当前页的页码
     * @param size :每页显示多少条
     * @return
     */
    @Override
    public Map<String, Object> pageCouponActive(int page, int size) {
        Page<CouponDO> pageInfo = new Page<>(page, size);
        IPage<CouponDO> couponDOIPage = couponMapper.selectPage(pageInfo, new QueryWrapper<CouponDO>()
                .eq("publish", CouponPublishEnum.PUBLISH)
                .eq("category", CouponCategoryEnum.PROMOTION)
                .orderByDesc("create_time"));

        HashMap<String, Object> pageMap = new HashMap<>(3);
        //总条数
        pageMap.put("total_record", couponDOIPage.getTotal());
        //总页数
        pageMap.put("total_page", couponDOIPage.getPages());
        //内容
        pageMap.put("current_data", couponDOIPage.getRecords().stream().map(obj -> beanProcess(obj)).collect(Collectors.toList()));
        return pageMap;
    }

    /**
     * 将couponDo转化为couponVo
     *
     * @param couponDO
     * @return
     */
    private Object beanProcess(CouponDO couponDO) {
        CouponVo couponVo = new CouponVo();
        BeanUtils.copyProperties(couponDO, couponVo);
        return couponVo;
    }

5.测试

根据请求,postman测试~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/528659.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux中查看占用端口的进程方法

1、netstat -tlnp | grep 端口号 netstat -tlnp|grep 3306 其中&#xff1a;95115是进程号&#xff0c;mysqld是进程名称 2、ss -ltnp | grep 端口号 注意&#xff1a;-tlnp和-ltnp ss -ltnp|grep 3306其中&#xff1a;mysqld是进程名称&#xff0c;95115是进程id 3、lsof…

【Python 基础知识课程】Python的第一个程序

Python 简介 Python 是一种功能强大且用途广泛的编程语言&#xff0c;广泛用于数据科学、Web 开发、自动化等高需求领域。 幸运的是&#xff0c;对于初学者来说&#xff0c;它也是一种很好的学习语言&#xff0c;因为Python代码更容易阅读和编写。它的简单性使其成为初学者的完…

R语言绘图 | 散点小提琴图

原文链接&#xff1a;R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章&#xff0c;这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码&#xff0c;后台回复关键词&#xff1a;20240405 绘图 设置路径 setwd("You…

我是如何从功能测试成功转岗测试开发的?记录下我的面试经验

由于这段时间我面试了很多家公司&#xff0c;也经历了之前公司的不愉快。所以我想写一篇文章来分享一下自己的面试体会。希望能对我在之后的工作或者面试中有一些帮助&#xff0c;也希望能帮助到正在找工作的你。 一 找工作 壹&#xff0f; 我们总是草率地进入一个自己不了解…

岩土工程监测振弦采集仪在隧道工程中的监测与应用

岩土工程监测振弦采集仪在隧道工程中的监测与应用 岩土工程监测是隧道工程的重要环节之一&#xff0c;而振弦采集仪作为岩土工程监测中的关键设备之一&#xff0c;在隧道工程中的应用十分重要。本文将从振弦采集仪的基本原理、在隧道工程中的监测与应用以及其优点和局限性等方…

面试(01)————JVM篇,最大白话的一集,常见概念的讲解以及GC监控调优等等

一、JDK体系结构图 二、JVM整体架构 三、JVM组成 3.1、JVM内存区域的执行底层原理 ​编辑 3.1.1、程序计数器 3.1.2、堆栈关系的发现 3.1.3、方法去和堆的关系 3.1.4、堆&#xff08;重点&#xff09; 3.1.4.1、可达性分析算法 3.1、内存泄漏测试以及堆区的GC监控 3.…

【论文解读】大模型事实性调查(上)

一、简要介绍 本调查探讨了大型语言模型&#xff08;llm&#xff09;中的事实性的关键问题。随着llm在不同领域的应用&#xff0c;其输出的可靠性和准确性变得至关重要。论文将“事实性问题”定义为llm产生与既定事实不一致的内容的概率。论文首先深入研究了这些不准确性的含义…

kali基础渗透学习,永恒之蓝,木马实战

简介 kali的学习本质是在linux上对一些攻击软件的使用&#xff0c;只是学习的初期 先在终端切换到root用户&#xff0c;以便于有些工具对权限的要求 下载链接 镜像源kali 攻击流程 公网信息搜集 寻找漏洞&#xff0c;突破口&#xff0c;以进入内网 进入内网&#xff0c…

GD32F470_SHT20温湿度传感器模块/数字型温湿度测量模块 I2C通讯小体积模块

2.24 SHT20温湿度传感器 由瑞士Sensirion推出的 SHT20数字温湿度传感器&#xff0c;基于领先世界的CMOSens 数字传感技术&#xff0c;具有极高的可靠性和卓越的长期稳定性。全量程标定&#xff0c;两线数字接口&#xff0c;可与单片机直接相连&#xff0c;大大缩短研发时间、…

物联网数据服务平台

随着物联网技术的迅猛发展&#xff0c;海量数据的产生和应用成为推动工业数字化转型的核心动力。在这个数据为王的时代&#xff0c;如何高效地收集、处理、分析并应用这些数据&#xff0c;成为了企业关注的焦点。物联网数据服务平台应运而生&#xff0c;为企业提供了全面、高效…

考研数学|打基础看张宇《30讲》还是武忠祥《基础篇》?

这题我会啊&#xff0c;基础阶段我还是推荐张宇老师 因为张宇老师和武忠祥老师的实力都很厉害&#xff0c;最主要的区别就是讲课的风格。我比较喜欢张宇老师的讲课风格&#xff0c;比较幽默风趣&#xff0c;能够调动课堂氛围了和学生思维。这一点在考研初期&#xff0c;帮助我…

区块链与数字身份:探索Facebook的新尝试

在数字化时代&#xff0c;随着区块链技术的崛起&#xff0c;数字身份成为了一个备受关注的话题。作为全球最大的社交媒体平台之一&#xff0c;Facebook一直在探索如何利用区块链技术来改善数字身份管理和用户数据安全。本文将深入探讨Facebook在这一领域的新尝试&#xff0c;探…

AI大模型基石:文字与数字的起源与演变

AI大模型基石&#xff1a;文字与数字的起源与演变 1、文字 1.1、起源 我们的祖先在还没有发明文字和语言之前就已经开始使用“咿咿呀呀”的声音来传播信息了&#xff0c;比如在野外活动遇到危险&#xff0c;然后发出“咿咿呀呀”的声音来提醒同伴小心&#xff0c;同伴在接收到…

u-tabs徽标改颜色并随着鼠标点击而改色

在uview官网中没找到改色的api&#xff0c;然后就查看源码&#xff0c;发现通过修改源码能实现上图效果&#xff0c;本次组件用的uview 2x版本 修改文件u-tabs文件&#xff0c;然后把依赖文件带过来&#xff0c;如图下&#xff1a; 然后修改my_tabs.vue文件&#xff08;即原u-…

一站式解读多模态——Transformer、Embedding、主流模型与通用任务实战(下)

本文章由飞桨星河社区开发者高宏伟贡献。高宏伟&#xff0c;飞桨开发者技术专家&#xff08;PPDE&#xff09;&#xff0c;飞桨领航团团长&#xff0c;长期在自媒体领域分享AI技术知识&#xff0c;博客粉丝9w&#xff0c;飞桨星河社区ID为GoAI 。分享分为上下两期&#xff0c;本…

Windows下的ASLR保护机制详解及其绕过

写在前面&#xff1a; 本篇博客为本人原创&#xff0c;但非首发&#xff0c;首发在先知社区 原文链接&#xff1a; https://xz.aliyun.com/t/13924?time__1311mqmxnQ0%3DqGwx2DBqDTlpzeG%3DKT8qQTID&alichlgrefhttps%3A%2F%2Fxz.aliyun.com%2Fu%2F74789各位师傅有兴趣的…

设计模式总结-抽象工厂模式

抽象工厂模式 模式动机模式定义模式结构模式分析模式实例与解析实例一&#xff1a;电器工厂 模式动机 在工厂方法模式中具体工厂负责生产具体的产品&#xff0c;每一个具体工厂对应一种具体产品&#xff0c;工厂方法也具有唯一性&#xff0c;一般情况下&#xff0c;一个具体工…

4.8QT

将按钮3&#xff0c;基于qt4版本连接实现点击按钮3&#xff0c;实现关闭窗口。 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), btn3(new QPushButton(this)) {ui->s…

D1084 5A低压差电压调整器应用方案,内含电流限制和热保护功能,防止任何过载时产生过高的结温。

1、 概述&#xff1a; D1084是一款具有5A输出能力、低压差为1.5V的三端稳压器。输出电压可通过电位器调节或1.5V, 1.8V, 3.3V三个固定电压版。内含电流限制和热保护功能&#xff0c;防止任何过载时产生过高的结温。D1084系列电路有标准TO-220、TO-263和TO-252封装形式。 2、 典…

代码随想录训练营day32

第八章 贪心算法 part02 1.LeetCode. 买卖股票的最佳时机II 1.1题目链接&#xff1a;122.买卖股票的最佳时机 II 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;B站卡哥视频 1.2思路&#xff1a;本题首先要清楚两点&#xff1a;只有一只股票&#xff01;当前只有买股…