springboot中使用mybatisplus自带插件实现分页的示例代码

 更新时间:2022年09月26日 08:40:32   作者:欢迎来到BYL的博客  
这篇文章主要介绍了springboot中使用mybatisplus自带插件实现分页,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

springboot中使用mybatisplus自带插件实现分页

1.导入mybatisplus分页依赖

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
            <version>3.4.3.1</version>
        </dependency>

lus-extension</artifactId> <version>3.4.3.1</version> </dependency>

2.添加MybatisPlusConfig配置类

@Configuration
@MapperScan("scan.your.mapper.package")
public class MybatisPlusConfig {
 
    /**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        return interceptor;
    }
 
    @Bean
    public ConfigurationCustomizer configurationCustomizer() {
        return configuration -> configuration.setUseDeprecatedExecutor(false);
    }
}

3.测试分页

@Test
void testPage(){
    //1、创建page对象
    //传入两个参数:当前页 和 每页显示的记录数
    Page<User> page = new Page<>(1,3);
    //调用mp分页查询的方法,null为没有条件查询
    userMapper.selectPage(page,null);
   
     Page pageinfo = new Page(page,size);
        //带条件查询
     QueryWrapper<实体类> wrapper = new QueryWrapper<>();
     Map<String, Object> pageMap = new HashMap<>();
     pageMap.put("key", value);
     wrapper.eq("name", value);
     wrapper.allEq(pageMap);
     bbooksMapper.selectPage(pageinfo, wrapper);
 
    //通过page对象获取分页数据
    System.out.println("当前页码:" + page.getCurrent());//获取当前页
    System.out.println("数据的list集合:" + page.getRecords());//每页数据的list集合
    System.out.println("每页显示的记录数:" + page.getSize());//每页显示的记录数
    System.out.println("总记录数:" + page.getTotal());//总记录数
    System.out.println("总页数:" + page.getPages());//总页数
 
    System.out.println("是否有下一页:" + page.hasNext());//是否有下一页
    System.out.println("是否有上一页:" + page.hasPrevious());//是否有上一页
}

图片:

到此这篇关于springboot中使用mybatisplus自带插件实现分页的文章就介绍到这了,更多相关springboot mybatisplus分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • kafka topic 权限控制(设置删除权限)

    kafka topic 权限控制(设置删除权限)

    大家都知道Kafka是一个消息队列,把消息放到队列里边的叫生产者,从队列里边消费的叫消费者。今天通过本文给大家介绍kafka topic 权限控制的相关知识,感兴趣的朋友一起看看吧
    2021-11-11
  • Java反射机制用法总结

    Java反射机制用法总结

    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。下面我们来一起学习一下吧
    2019-05-05
  • Kotlin中 StateFlow 或 SharedFlow 的区别解析

    Kotlin中 StateFlow 或 SharedFlow 的区别解析

    Kotlin协程中的StateFlow和SharedFlow是响应式数据流,分别用于UI状态管理和事件通知,StateFlow有初始值,只保留最新值,适用于UI状态管理;SharedFlow没有初始值,可以配置缓存大小,适用于事件通知,感兴趣的朋友一起看看吧
    2025-03-03
  • java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

    java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list

    这篇文章主要介绍了java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法的相关资料,需要的朋友可以参考下
    2016-12-12
  • Java动态字节码注入技术的实现

    Java动态字节码注入技术的实现

    Java动态字节码注入技术是一种在运行时修改Java字节码的技术,本文主要介绍了Java动态字节码注入技术的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • SpringBoot集成Druid连接池进行SQL监控的问题解析

    SpringBoot集成Druid连接池进行SQL监控的问题解析

    这篇文章主要介绍了SpringBoot集成Druid连接池进行SQL监控的问题解析,在SpringBoot工程中引入Druid连接池非常简单,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • ProtoStuff不支持BigDecimal序列化及反序列化详解

    ProtoStuff不支持BigDecimal序列化及反序列化详解

    这篇文章主要为大家介绍了ProtoStuff不支持BigDecimal序列化/反序列化,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 手写简版kedis分布式key及value服务的实现及配置

    手写简版kedis分布式key及value服务的实现及配置

    这篇文章主要为大家介绍了手写简版的kedis分布式key及value服务的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • mybatis整合springboot报BindingException:Invalid bound statement (not found)异常解决

    mybatis整合springboot报BindingException:Invalid bound stateme

    这篇文章主要给大家介绍了关于mybatis整合springboot报BindingException:Invalid bound statement (not found)异常的解决办法,这个错误通常是由于Mapper文件中的statement id与Java代码中的方法名不一致导致的,需要的朋友可以参考下
    2024-01-01
  • java sql ResultSet 之getRow()用法说明

    java sql ResultSet 之getRow()用法说明

    这篇文章主要介绍了java sql ResultSet 之getRow()用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08

最新评论