zoukankan      html  css  js  c++  java
  • Mybatis-Plus的selectPage方法返回records但是没有返回total

    开始时的配置:

    package com.example.demo.configuration;
    
    import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * ${todo}
     *
     * @date: 2020/11/18
     * @author: Li Bin
     */
    @Configuration
    public class MybatisPlusConfig {
    
    
        @Bean
        public PaginationInnerInterceptor paginationInnerInterceptor(){
            return new PaginationInnerInterceptor();
        }
    }

    测试代码:

    /**
         * 分页测试
         */
        @Test
        public void selectPage(){
            QueryWrapper<User> queryWrapper=new QueryWrapper<>();
            queryWrapper.gt("age",18);
    
            Page<User> page=new Page<User>(0,1);
    
            IPage<User> userPage = userMapper.selectPage(page, queryWrapper);
            System.out.println("总页数:"+userPage.getPages());
            System.out.println("总记录数:"+userPage.getTotal());
            List<User> records = userPage.getRecords();
            records.forEach(System.out::println);
    
        }

    网上找了一些解决方法,说是去掉原来项目中的分页插件的依赖,或者设置分页插件方言什么的。

    我断点断在这个配置类里,可以进去,说明代码没有问题,只是分页没起作用。

    试了下下面这个配置,居然好了。

    @Configuration
    public class MybatisPlusConfig {
    
    
        @Bean
        public PaginationInterceptor paginationInterceptor() {
            PaginationInterceptor page = new PaginationInterceptor();
            page.setDialectType("mysql");
            return page;
        }
    
    }

    我用的是

    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
    </dependency>

  • 相关阅读:
    lecture 11.4
    lecture 10.30
    boolean functions and beyon
    lecture10.21
    golang hex to string
    golang中 将string转化为json
    ubuntu16报错: add-apt-repository command not found
    ubuntu16的防火墙关闭
    ubuntu 16 解决错误 manpath: can't set the locale; make sure $LC_* and $LANG are correct
    go get 安装时报 (https fetch: Get https://golang.org/x/crypto/acme/autocert?go-get=1: dial tcp 220.255.2.153:443: i/o timeout)
  • 原文地址:https://www.cnblogs.com/jiliunyongjin/p/14001642.html
Copyright © 2011-2022 走看看