springboot几种sql分页查询(分页实现)

1:使用 LIMIT #{offset}, #{limit} 进行分页,使用 @Param 注解来传递分页参数,并在 SQL 语句中使用分页关键字

public interface EntityDemoMapper extends BaseMapper<EntityDemo> {
    @Select("SELECT * FROM entity_demo LIMIT #{offset}, #{limit}")
    List<EntityDemo> selectPage(@Param("offset") int offset, @Param("limit") int limit);
}

2:使用 PageHelper 这个工具类来实现

2-1:引入依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>

2-2:使用 PageHelper.startPage(pageNum, pageSize) 来开启分页功能。这个方法会将后续执行的第一个查询进行分页处理,第二个查询就不会分页,需要分页还需要在查询上面加一行entityDemoOne

public interface EntityDemoMapper extends BaseMapper<EntityDemo> {
    default List<EntityDemo> selectPage(int pageNum, int pageSize) {
        // 开启分页
        PageHelper.startPage(pageNum, pageSize);
        // 执行查询
        //分页
        List<EntityDemo> entityDemoOne = entityDemoMapper.testSql(); 
        //未分页
        List<EntityDemo> entityDemoTwo = entityDemoMapper.testSql();
        return entityDemoOne ;
    }
}

3: Spring Boot 中,要使 MyBatis-Plus 的分页插件生效,你需要进行以下配置步骤

3-1:导入依赖mybatis-plus,对应版本3.4版本兼容新旧插件,3.5.1开始不兼容旧插件类(PaginationInterceptor)

<!-- MyBatis-Plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
</dependency>

3-2:注册分页插件:创建一个配置类,用于注册 MyBatis-Plus 的分页插件

@Configuration
public class MyBatisPlusConfig {
    @Bean
    //这是mybatis-plus3.4和3.5版本
    public MybatisPlusInterceptor paginationInterceptor() {
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}
@Configuration
public class MyBatisPlusConfig {
    @Bean
    //这是mybatis-plus3.5以下版本
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值