在 Spring Boot 项目中使用分页插件的两种常见方式

在 Spring Boot 项目中使用分页插件主要有两种常见方式:使用 MyBatis-Plus 的分页插件和使用 PageHelper 插件。以下是两种方式的详细使用方法:

使用 MyBatis-Plus 分页插件

1. 添加依赖pom.xml 文件中添加 MyBatis-Plus 的依赖:

复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>版本号</version>
</dependency>

2. 配置分页插件 创建一个配置类,添加分页插件的配置:

复制代码
@Configuration
@MapperScan("scan.your.mapper.package")
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

3. 使用分页功能 在 Service 层中,使用 Page 类进行分页查询:

复制代码
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public IPage<User> getUserPage(int current, int size) {
        Page<User> page = new Page<>(current, size);
        return userMapper.selectPage(page, null);
    }
}

使用 PageHelper 分页插件

1. 添加依赖pom.xml 文件中添加 PageHelper 的依赖:

复制代码
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>版本号</version>
</dependency>

2. 配置 PageHelperapplication.yml 文件中配置 PageHelper:

复制代码
pagehelper:
  helperDialect: mysql
  reasonable: true

3. 使用分页功能 在 Service 层中,使用 PageHelper 进行分页查询:

复制代码
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public PageInfo<User> getUserPage(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> users = userMapper.list();
        return new PageInfo<>(users);
    }
}

两种分页插件各有优势,MyBatis-Plus 的分页插件与 MyBatis-Plus 的 CRUD 接口无缝集成,使用简单;PageHelper 则是一个独立的分页插件,支持多种数据库,且分页逻辑与 Mapper 层解耦,使用灵活。你可以根据项目需求选择合适的分页插件。

相关推荐
蝎子莱莱爱打怪14 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
躺平大鹅14 小时前
Java面向对象入门(类与对象,新手秒懂)
java
哈密瓜的眉毛美15 小时前
零基础学Java|第三篇:DOS 命令、转义字符、注释与代码规范
后端
用户605723748730815 小时前
AI 编码助手的规范驱动开发 - OpenSpec 初探
前端·后端·程序员
哈密瓜的眉毛美15 小时前
零基础学Java|第二篇:Java 核心机制与第一个程序:从 JVM 到 Hello World
后端
用户83071968408215 小时前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者15 小时前
RocketMQ 集群介绍
后端·消息队列·rocketmq
初次攀爬者15 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
Leo89915 小时前
go 从零单排 之 一小时通关
后端
花花无缺15 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端