记录:解决MyBatis-Plus分页插件失效问题

描述:

项目中用到boot 整合 mybatis-plus , 个人在使用分页条件查询的时候一直查不出 total, pages, 终于找到原因了。

mybatis-plus环境:

         
            com.baomidou
            mybatis-plus-boot-starter
            3.2.0
        
        
            com.baomidou
            mybatis-plus-generator
            3.2.0
        

IPage分页使用:

package com.system.xiaoma.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.system.xiaoma.base.BasePage;
import com.system.xiaoma.entity.User;
import com.system.xiaoma.mapper.UserMapper;
import com.system.xiaoma.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 

* 服务实现类 *

* * @author luoyong * @since 2021-4-16 */ @Service public class UserServiceImpl extends ServiceImpl implements UserService { @Autowired UserMapper userMapper; @Override public IPage queryPage(BasePage basePage, User sysUser) { Page page = new Page<>(); if (basePage.getPage() != null && basePage.getLimit() != null) { page = new Page<>(basePage.getPage(), basePage.getLimit()); } return userMapper.queryPage(page, sysUser); } }

实际分页失效,如图: 

 记录:解决MyBatis-Plus分页插件失效问题_第1张图片

记录:解决MyBatis-Plus分页插件失效问题_第2张图片

解释:如上代码一顿操作后,结果发现并没有分页成功,这是因为我们缺少了PaginationInterceptor的配置。

按照如下配置即可,亲测。

package com.system.xiaoma.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;


/**
 * @Author: luoyong
 * @Date: 2021/4/16
 */
@EnableTransactionManagement
@Configuration
@MapperScan("com.system.xiaoma.mapper")
public class MybatisPlusConfig {


    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        // paginationInterceptor.setLimit(500);
        return paginationInterceptor.setDialectType("mysql");
    }
}

诺,分页这不就OK了嘛;

记录:解决MyBatis-Plus分页插件失效问题_第3张图片


❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ 

❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~

❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】

❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言)

你可能感兴趣的:(#,mybatis,mybatis-plus,分页失效)