mybatis-plus 实现分页查询的示例代码
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了代码生成器、条件构造器、分页插件等多种功能,其中分页查询是一个常用的功能。
以下是如何在 MyBatis-Plus 中实现分页查询的基本步骤:
1. 引入 MyBatis-Plus 分页插件依赖
首先,确保你的项目中已经添加了 MyBatis-Plus 的依赖,并且包含了分页插件。如果没有,可以在 pom.xml
中添加如下依赖:
<!-- MyBatis-Plus 分页插件 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>你的MyBatis-Plus版本</version> </dependency>
2. 配置分页插件
在你的 Spring Boot 配置类中,添加分页插件的配置:
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()); return interceptor; } }
3. 使用分页查询
在你的 Mapper 接口中,你可以使用 MyBatis-Plus 提供的 IPage<T>
类型来接收分页参数,并返回分页结果。
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 操作 }
在你的服务层或控制器层,你可以这样使用分页查询:
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 { @Autowired private YourEntityMapper yourEntityMapper; public Page<YourEntity> selectPage(int current, int size) { Page<YourEntity> page = new Page<>(current, size); return yourEntityMapper.selectPage(page, null); // 第二个参数可以是查询条件,这里为 null 表示查询所有 } }
4. 控制器层调用
在你的控制器中,你可以接收前端传递的分页参数,并调用服务层的方法:
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 { @Autowired private 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
需要替换为你的实际包名,YourEntity
和 YourEntityMapper
需要替换为你的实际实体类和 Mapper 接口。
到此这篇关于mybatis-plus 实现分页查询的示例代码的文章就介绍到这了,更多相关mybatis-plus 分页查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot RestTemplate 简单包装解析
这篇文章主要介绍了SpringBoot RestTemplate 简单包装解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08IntelliJ IDEA 代码运行时中文出现乱码问题及解决方法
在我们刚接触到IDEA时,想美滋滋的敲一个“hello world”来问候这个世界,但难免会遇到这种问题乱码,这篇文章主要介绍了解决IntelliJ IDEA 代码运行时中文出现乱码问题,需要的朋友可以参考下2023-09-09
最新评论