当前位置: 代码网 > it编程>编程语言>Java > SpringBoot集成MyBatis-Plus实现数据库分页功能

SpringBoot集成MyBatis-Plus实现数据库分页功能

2026年09月29日 • Java •我要评论
一、依赖引入需要的依赖参考:springboot使用mybatis-plus依赖实现数据库操作的实战教学如果你使用的是spring boot4的话需要额外增加一个依赖<dependency>

一、依赖引入

需要的依赖参考:springboot使用mybatis-plus依赖实现数据库操作的实战教学

如果你使用的是spring boot4的话需要额外增加一个依赖

<dependency>
    <groupid>com.baomidou</groupid>
    <artifactid>mybatis-plus-jsqlparser</artifactid>
    <version>3.5.17</version>
</dependency>

二、配置分页拦截器

package com.example.demo.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 mybatisplusconfig {
    @bean
    public mybatisplusinterceptor mybatisplusinterceptor() {
        mybatisplusinterceptor interceptor = new mybatisplusinterceptor();
        interceptor.addinnerinterceptor(new paginationinnerinterceptor(dbtype.mysql));
        return interceptor;
    }
}

三、分页实现流程

1. 创建分页对象

import com.baomidou.mybatisplus.extension.plugins.pagination.page;

// 分页对象 pagenum页码,pagesize每页条数
page&lt;user&gt; page = new page&lt;&gt;(1, 10);

2. 增加条件构造器(可选)

import com.baomidou.mybatisplus.core.conditions.query.querywrapper;

//条件构造器
querywrapper&lt;user&gt; wrapper = new querywrapper&lt;&gt;();

//查询条件
wrapper.eq("name", "张三");         // name = '张三'
wrapper.like("phone", "138");       // phone like '%138%'
wrapper.ge("age", 18);              // age &gt;= 18
wrapper.le("age", 60);              // age &lt;= 60
wrapper.eq("status", 1);            // status=1

如果想要使用实体属性代替筛选条件,可以使用lambdaquerywrapper来实现

import com.baomidou.mybatisplus.core.conditions.query.lambdaquerywrapper;


//条件构造器
lambdaquerywrapper&lt;user&gt; wrapper = new lambdaquerywrapper&lt;&gt;();

wrapper.eq(user::getname, "张三")
       .like(user::getphone,"138")
       .ge(user::getage,18);

3. 执行分页查询

import com.baomidou.mybatisplus.core.metadata.ipage;


//执行分页查询
ipage&lt;user&gt; result = usermapper.selectpage(page, null);

//带条件的分页查询
ipage&lt;user&gt; result = usermapper.selectpage(page, wrapper);

4. 获取数据

//获取数据列表
list&lt;user&gt; list = result.getrecords();

//获取总条数
long total = result.gettotal();

四、分页实现示例

package com.example.demo.controller;

import com.baomidou.mybatisplus.core.conditions.query.lambdaquerywrapper;
import com.baomidou.mybatisplus.core.metadata.ipage;
import com.baomidou.mybatisplus.extension.plugins.pagination.page;
import com.example.demo.mapper.usermapper;
import com.example.demo.model.user;
import jakarta.annotation.resource;
import org.springframework.web.bind.annotation.*;

import java.util.*;

@restcontroller
@requestmapping("/user")
public class usercontroller {

    //注入mapper
    @resource
    private usermapper usermapper;


    @postmapping("/page")
    public map&lt;string, object&gt; page(
            @requestparam(required = false, defaultvalue = "1") long pagenum,
            @requestparam(required = false, defaultvalue = "10") long pagesize,
            @requestparam(required = false) string username
    ) {
        // 分页对象
        page&lt;user&gt; page = new page&lt;&gt;(pagenum, pagesize);

        //条件构造器
        lambdaquerywrapper&lt;user&gt; querywrapper = new lambdaquerywrapper&lt;&gt;();

        if (username != null) {
            querywrapper.like(user::getusername, username);
        }

        querywrapper.orderbyasc(user::getid);

        //执行分页查询
        ipage&lt;user&gt; result = usermapper.selectpage(page, querywrapper);

        //获取数据列表
        list&lt;user&gt; list = result.getrecords();

        //获取总条数
        long total = result.gettotal();

        map&lt;string, object&gt; data = new hashmap&lt;&gt;();
        data.put("list", list);
        data.put("total", total);
        return data;
    }
}

效果如下

到此这篇关于springboot集成mybatis-plus实现数据库分页功能的文章就介绍到这了,更多相关springboot数据库分页内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

赞 (0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com