PageHelper不生效的原因

本文详细介绍了如何在MyBatis中正确配置和使用PageHelper分页插件,包括注解配置方法及常见错误排查技巧,帮助解决分页查询不生效的问题。

PageHelper是一个比较简单的分页插件,但是好些人在用的时候却无法生效了。

遇到这种情况不要方,首先先看看自己的配置,我这里用的是注解配置

import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * mybatis分页插件配置
 */
@Configuration
public class MybatisConfig {
    @Bean
    public PageHelper pageHelper(){
        PageHelper pageHelper=new PageHelper();
        Properties properties=new Properties();
        //把这个设置为true,会带RowBounds第一个参数offset当成PageNum使用
        properties.setProperty("offsetAsPageNum","true");
        //设置为true时,使用RowBounds分页会进行count查询
        properties.setProperty("rowBoundsWithCount","true");
        properties.setProperty("reasonable","true");
        pageHelper.setProperties(properties);
        return pageHelper;
    }
}

如果在使用注解配置的时候,需要加一个@Configuration 表示这个类是一个配置类,相当于Spring配置文件中的<beans>,再加上@Bean 进行Bean注入

然后再看看你的分页查询是不是在你的查询语句之前 

        PageHelper.startPage(page,size);
        List<Video> list=videoService.findAll();
        PageInfo<Video> pageInfo=new PageInfo<Video>(list);
        return pageInfo;

我这次遇到的错也是把前面的都改了,然后发现还是没用,查出来的还是全部数据。然后选择刷一下缓存

发现可以查询成功了。

JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@716f8341] will not be managed by Spring
==>  Preparing: SELECT count(0) FROM video 
==> Parameters: 
<==    Columns: count(0)
<==        Row: 10
<==      Total: 1
==>  Preparing: select * from video limit ?,? 
==> Parameters: 0(Integer), 10(Integer)

 

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值