首页 > 其他分享 >Mybatis-plus分页查询(SpringBoot)

Mybatis-plus分页查询(SpringBoot)

时间:2024-01-30 19:22:23浏览次数:31  
标签:插件 SpringBoot page println plus Mybatis public 分页

2024-01-30

OS:Windows10  22H2

IDE:IDEA 2022.2.5

JDK version:19

Maven version:3.6.3

数据库:MySQL 8.1.0

mybatis-plus:3.5.3.1

 

一、在springBoot启动类中将分页插件加入到ioc容器里面

启动类
 @SpringBootApplication
@MapperScan("com.ssm.mapper")
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }

    /**
     * 将mybatis-plus插件加入到ioc容器里面
     */
    @Bean
    public MybatisPlusInterceptor plusInterceptor() {
        // mybatis-plus的插件集合【使用的集合加入到这个集合里面,分页插件,乐观锁】
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();

        // 分页插件
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));

        return mybatisPlusInterceptor;  
    }
}

在new PaginationInnerInterceptor()的括号里面输入数据库的类型,这里是枚举类型。例如MySql数据库,DbType.MYSQL

 

二、进行分页查询

需要导入的测试依赖

SpringBoot测试依赖
 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>3.0.5</version>
</dependency>
SpringBoot测试类
 @SpringBootTest
public class SpringBootMybatisPlusTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testPage() {
        // IPage(接口) -> Page(实现类) 页码 页容量
        Page<User> page = new Page<>(1, 3);
        userMapper.selectPage(page, null);
        // 查询得到的结果也会被封装到page对象中

        // 页码
        long current = page.getCurrent();
        System.out.println("current = " + current);
        // 页容量
        long size = page.getSize();
        System.out.println("size = " + size);
        // 当前页的数据
        List<User> records = page.getRecords();
        System.out.println("records = " + records);
        // 表中数据的行数
        long total = page.getTotal();
        System.out.println("total = " + total);
    }

}

 测试结果截图(第1页,有3条记录)

标签:插件,SpringBoot,page,println,plus,Mybatis,public,分页
From: https://www.cnblogs.com/shiguangrusuo/p/17997805

相关文章

  • springboot集成mqtt
    SpringBoot集成MQTT(简单版)一、docker安装emqx环境(Linux系统)emqx:mqtt服务器(broker)version:'3'services:emqx:image:emqx/emqxcontainer_name:emqxrestart:alwaysports:-8001:18083-8002:1883-8003:8083-8004......
  • springboot项目启动时候初始化一些数据
    最近在看缓存预热的问题的时候,其中有一种解决方法,就是在项目启动的时候就自动加载到缓存中那缓存我就不说了,就关于项目启动的时候,可以初始化一些数据,以下为两种初始化的方式,可以参考1、编写类去实现ApplicationRunner接口,实现run()方法。2、编写类去实现CommandLineRunner接口,......
  • MyBatis xml查询,如何可以查询返回boolean类型 ,怎么写,数据存在就返回true,不存在就fals
    您可以在MyBatis的查询方法中,使用COUNT函数查询指定数据是否存在。如果COUNT的返回值为0,表示数据不存在,反之则存在。以下是一个示例:<selectid="dataExists"resultType="boolean">SELECTCOUNT(*)>0ASexistsFROMyour_tableWHEREyour_condition=#......
  • Java 系统学习 | Springboot 数据验证
    本篇使用Springboot3框架,IDEA2022编辑器,java17版本。在上一篇的基础上进行优化添加依赖在pom.xml中添加依赖,记得更新maven<!--validation依赖--><dependency><groupId>org.springframework.boot</groupId><artifactI......
  • Springboot开发者的福音!免费好用的一站式IDE解决方案来了!SpringToolSuite4登场!
    SpringToolSuite4介绍最近由于工作原因,需要自己编写springboot应用(不是特别复杂),代码量不是很大,但是在选择IDE上却浪费了我很多时间!如果大家跟我一样,在开发springboot应用的过程中遇到如下两个问题:苦于Idea的版权问题讨厌在VisualStudio中安装各种令人头疼的插件那么我们不妨试一下......
  • SpringBoot实现分页的四种方式
    一自己封装Page对象实现二使用sql实现分页2.1场景分析前段传递给给后台什么参数?当前页码currentPage每页显示条数pageSize后台给前端返回什么数据?当前页数据List总记录数totalCount、2.2前段代码<template><el-pagination@size-change="handleSizeChan......
  • mybatisPlus获取保存对象的id
    有个需求就是使用mybatisplus的时候,主键通过雪花算法生成,不是使用mysql数据库主键自增的,我要获取生成的id。 @TableId(type=IdType.ASSIGN_ID)@Schema(description="主键id")privateStringcenterId;使用mybatisplus的save方法便可获取 记录遇到的问题解决方法,......
  • mybatis 传递参数的7种方法
     文章目录1.第一种方式匿名参数顺序传递参数2.第二种方式使用@Param注解3.使用Map传递参数4.用过javabean传递多个参数5.直接使用JSON传递参数6.传递集合类型参数List、Set、Array7.参数类型为对象+集合在实际开发过程中,增删改查操作都要涉及到请求参数的传递,今天这节就集......
  • SpringBootTest
    引入依赖pom文件中添加以下依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-test</artifactId><scope>test</scope>&l......
  • SpringBoot中集成Minio高性能分布式存储文件服务入门
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662参考上面搭建项目。MinioMinio是基于Go语言编写的对象存储服务,适合于存储大容量非结构化的数据,例如图片、音频、视频、日志文件、备份数据和容器/......