在MyBatis-Plus中,分页功能通常是通过配置MybatisPlusInterceptor(或其前身PaginationInterceptor)来实现的,这是一个全局的拦截器,用于拦截MyBatis的SQL执行,并在其中添加分页逻辑。以下是一个使用MybatisPlusInterceptor进行分页查询的案例:
- 添加依赖
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.mysql</groupId> |
| <artifactId>mysql-connector-j</artifactId> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.baomidou</groupId> |
| <artifactId>mybatis-plus-boot-starter</artifactId> |
| <version>3.5.2</version> |
| </dependency> |
- 配置Mapper接口
| @Mapper |
| public interface BookDao extends BaseMapper<Book> { |
| |
| } |
- 配置MybatisPlusInterceptor
| package com.atheima.config; |
| |
| 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 MPConfig { |
| @Bean |
| public MybatisPlusInterceptor mybatisPlusInterceptor(){ |
| MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); |
| |
| mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); |
| |
| |
| return mybatisPlusInterceptor; |
| } |
| } |
注意:从MyBatis-Plus 3.4.0开始,PaginationInterceptor被重命名为PaginationInnerInterceptor,并且需要作为MybatisPlusInterceptor的一个内部拦截器来添加。
4. 使用分页API进行查询
在Service或Mapper接口中,使用MyBatis-Plus提供的IPage接口和Page类进行分页查询。
| @Autowired |
| private BookDao bookDao; |
| |
| public IPage selectUserPage(int currentPage, int pageSize) { |
| |
| Page page = new Page(currentPage, pageSize); |
| |
| return bookDao.selectPage(page, null); |
| |
| } |
- 测试
| @Autowired |
| private BookService bookService; |
| |
| @Test |
| public void testGetPage2(){ |
| bookService.selectUserPage(1,6); |
| } |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-07-25 centos开机自启动