为什么pageHelper分页插件不生效?-已解决

为什么pageHelper分页插件不生效?-已解决

  • 在控制层写完分页后发现查询的始终是所有,没有分页效果。

@RequestMapping("findPage")
    public PageInfo<Music> findPage(
            @RequestParam(value = "pageNum",required = false,defaultValue = "1") Integer pagNum,
            @RequestParam(value = "pageSize",required = false,defaultValue = "2") Integer pageSize) {

        PageHelper.startPage(pagNum, pageSize);
        List<Music> all = musicService.findAll();

        return new PageInfo<Music>(all);
    }
可能原因
  • 没有配置拦截器
方法一:在 Spring 配置文件中配置拦截器插件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <!-- 注意其他配置 -->
  <property name="plugins">
    <array>
      <bean class="com.github.pagehelper.PageInterceptor">
        <property name="properties">
          <!--使用下面的方式配置参数,一行配置一个 -->
          <value>
            params=value1
          </value>
        </property>
      </bean>
    </array>
  </property>
</bean>
方法二: 在 MyBatis 配置 xml 中配置拦截器插件
<!--
    plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
    properties?, settings?,
    typeAliases?, typeHandlers?,
    objectFactory?,objectWrapperFactory?,
    plugins?,
    environments?, databaseIdProvider?, mappers?
-->
<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
        <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
        <property name="param1" value="value1"/>
	</plugin>
</plugins>
若还没有解决,移步官方文档 https://pagehelper.github.io/docs/howtouse/
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PageHelperMyBatis中一个常用的分页插件,它能简化分页查询的操作,但有时候可能遇到分页查询没有生效的情况。这可能是由以下几个原因导致的: 1. **未正确配置**:确保PageHelperMyBatis的全局配置文件(如mybatis-config.xml或application.properties)中正确配置了。例如,添加了`<plugins>`标签,并在其中启用`pageHelper`插件。 ```xml <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <property name="reasonable" value="true"/> <property name="supportMethodsArguments" value="true"/> <property name="params" value="count,offset,pagesize"/> </plugin> </plugins> ``` 2. **注入问题**:PageHelper拦截器没有被正确地注入到Mapper接口的方法上。确保在Mapper接口的方法签名中添加`@PageInfo`注解。 ```java @Mapper public interface UserMapper { List<User> list(@PageParam("params") PageInfo params); } ``` 3. **参数传递错误**:如果你直接在方法中传入PageInfo对象,检查参数是否设置正确,比如`params = new PageInfo<>(params)`。 4. **数据库连接问题**:确认连接数据库的线程池和事务管理设置正常,不会影响分页查询。 5. **代码逻辑问题**:在调用分页查询方法时,确认是否有其他代码干扰了PageHelper的行为,比如手动设置了偏移量或限制量等。 如果以上都检查过了还是没有效果,你可以尝试提供更详细的错误日志或者代码片段,这样有助于定位问题。接下来的一些相关问题可能对你有帮助:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山河依旧。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值