欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > mybatis-plus 实现分页查询步骤

mybatis-plus 实现分页查询步骤

2024/11/30 20:51:12 来源:https://blog.csdn.net/q322359/article/details/144059756  浏览:    关键词:mybatis-plus 实现分页查询步骤

        MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了代码生成器、条件构造器、分页插件等多种功能,其中分页查询是一个常用的功能。

以下是如何在 MyBatis-Plus 中实现分页查询的基本步骤:

1. 引入 MyBatis-Plus 分页插件依赖

        首先,确保你的项目中已经添加了 MyBatis-Plus 的依赖,并且包含了分页插件。如果没有,可以在 pom.xml 中添加如下依赖:

xml

<!-- MyBatis-Plus 分页插件 -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>你的MyBatis-Plus版本</version>
</dependency>

2. 配置分页插件

        在你的 Spring Boot 配置类中,添加分页插件的配置:

java

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 {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor());return interceptor;}
}

3. 使用分页查询

        在你的 Mapper 接口中,你可以使用 MyBatis-Plus 提供的 IPage<T> 类型来接收分页参数,并返回分页结果。

java

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import your.package.name.entity.YourEntity;@Mapper
public interface YourEntityMapper extends BaseMapper<YourEntity> {// 这里定义你的 CRUD 操作
}

        在你的服务层或控制器层,你可以这样使用分页查询:

java

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import your.package.name.mapper.YourEntityMapper;
import your.package.name.entity.YourEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class YourEntityService {@Autowiredprivate YourEntityMapper yourEntityMapper;public Page<YourEntity> selectPage(int current, int size) {Page<YourEntity> page = new Page<>(current, size);return yourEntityMapper.selectPage(page, null); // 第二个参数可以是查询条件,这里为 null 表示查询所有}
}

4. 控制器层调用

        在你的控制器中,你可以接收前端传递的分页参数,并调用服务层的方法:

java

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import your.package.name.entity.YourEntity;
import your.package.name.service.YourEntityService;import java.util.List;@RestController
public class YourEntityController {@Autowiredprivate YourEntityService yourEntityService;@GetMapping("your-entity/list")public Page<YourEntity> list(@RequestParam(defaultValue = "1") int current,@RequestParam(defaultValue = "10") int size) {return yourEntityService.selectPage(current, size);}
}

        这样,当请求到达控制器的 list 方法时,就会执行分页查询,并返回分页结果。

        请注意,这里的 your.package.name 需要替换为你的实际包名,YourEntityYourEntityMapper 需要替换为你的实际实体类和 Mapper 接口。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com