Mybatis-Plus如何使用分页实例详解

 更新时间:2022年03月04日 14:35:57   作者:草帽蓑衣下  
最近在研究mybatis,然后就去找简化mybatis开发的工具,下面这篇文章主要给大家介绍了关于Mybatis-Plus如何使用分页的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生

1.写个Mybatis-plus配置类:

是通过拦截器实现分页

@Configuration
public class MybatisConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

官网复制即可,只是你需要把数据库改为你使用的,这里我是使用mysql

image-20211127103508187

2.写接口测试

很简单

@GetMapping("/test")
    public Response test(){
        Page<Produce> producePage = new Page<>(1,1);
        Page<Produce> page = produceService.page(producePage);
        System.out.println(producePage == page);
        List<Produce> records = page.getRecords();
        for (Produce record : records) {
            System.out.println(record);
        }
        return new Response<>(records, ResultEnum.SUCCESS);
    }

image-20211127104035078

默认是会查询总条数,都有get、set方法,可以根据自己的需求设置(点开Page类看看)

image-20211127113428364

3.注意

我们传入的page对象和查询返回的page对象是同一个

image-20211127105657392

image-20211127105710551

4.如果你还有查询条件

比如我们只查询id和price,id小于5的分页查询

image-20211127112433085

1.Lambda表达式

@GetMapping("/test")
public Response test(){
    Page<Produce> producePage = new Page<>(1,2);
    Page<Produce> page = new LambdaQueryChainWrapper<>(produceService.getBaseMapper())
            .select(Produce::getPid,Produce::getPrice)
            .lt(Produce::getPid,5)
            .page(producePage);

    return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
}

image-20211127112546762

2.普通查询

@GetMapping("/test")
public Response test(){
    Page<Produce> producePage = new Page<>(1,2);
    QueryWrapper<Produce> queryWrapper = new QueryWrapper<>();
    queryWrapper.select("pid","price");
    queryWrapper.lt("pid",5);
    Page<Produce> page = produceService.page(producePage, queryWrapper);
    return new Response<>(page.getRecords(), ResultEnum.SUCCESS);
}

image-20211127113153795

image-20211127113105586

总结 

到此这篇关于Mybatis-Plus如何使用分页的文章就介绍到这了,更多相关Mybatis-Plus使用分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java并发工具类之CountDownLatch详解

    Java并发工具类之CountDownLatch详解

    这篇文章主要介绍了Java并发工具类之CountDownLatch详解,CountDownLatch可以使一个获多个线程等待其他线程各自执行完毕后再执行,CountDownLatch可以解决那些一个或者多个线程在执行之前必须依赖于某些必要的前提业务先执行的场景,需要的朋友可以参考下
    2023-12-12
  • Spring boot 自定义 Starter及自动配置的方法

    Spring boot 自定义 Starter及自动配置的方法

    Starter 组件是 Spring boot 的一个核心特性,Starter组件的出现极大的简化了项目开发,这篇文章主要介绍了Spring boot 自定义 Starter 及 自动配置,需要的朋友可以参考下
    2022-12-12
  • MyBatis中Mapper的注入问题详解

    MyBatis中Mapper的注入问题详解

    这篇文章主要介绍了MyBatis中Mapper的注入问题,我知道在 SpringBoot 体系中,MyBatis 对 Mapper 的注入常见的方式有 2 种,具体哪两种方法跟随小编一起看看吧
    2021-09-09
  • java调用mysql存储过程实例分析

    java调用mysql存储过程实例分析

    这篇文章主要介绍了java调用mysql存储过程的方法,以实例形式较为详细的分析了mysql数据库的建立和存储过程的实现方法,需要的朋友可以参考下
    2015-06-06
  • IntelliJ IDEA设置显示内存指示器和设置内存大小的方法

    IntelliJ IDEA设置显示内存指示器和设置内存大小的方法

    这篇文章主要介绍了IntelliJ IDEA设置显示内存指示器和设置内存大小的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 关于Spring中的三级缓存解析

    关于Spring中的三级缓存解析

    这篇文章主要介绍了关于Spring中的三级缓存,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java虚拟机内存分配与回收策略问题精细解读

    Java虚拟机内存分配与回收策略问题精细解读

    Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决了两个问题:给对象分配内存以及回收分配给对象的内存,本文让我们来详细了解
    2021-11-11
  • Springboot常用方法参数注解示例详解

    Springboot常用方法参数注解示例详解

    这篇文章主要介绍了Springboot常用方法参数注解及示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Java实现网络资源的单线程下载

    Java实现网络资源的单线程下载

    这篇文章主要为大家详细介绍了如何利用Java语言实现在一个线程中完成网络资源的下载,文中的实现步骤讲解详细,感兴趣的可以尝试下
    2022-10-10
  • SpringBoot简单使用SpringData的jdbc和durid

    SpringBoot简单使用SpringData的jdbc和durid

    今天给大家带来的是关于Java的相关知识,文章围绕着SpringBoot简单使用SpringData的jdbc和durid,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论