解决springboot和mybatis-plus的分页插件查不出总页数的问题

在Main下配置方法:

 /**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
        // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
        return interceptor;
    }

    @Bean
    public ConfigurationCustomizer configurationCustomizer(){
        return mybatisConfiguration -> mybatisConfiguration.setUseGeneratedShortKey(false);
    }

MyBatisPlus是一个基于MyBatis的简化整合工具,它提供了更简洁的API来操作数据库。当你使用它的分页查询功能时,可能会遇到不是预期的分页结果的情况,这通常是由于以下几个原因: 1. **未正确配置**: 没有设置正确的分页插件或者分页参数,例如PageHelper分页插件的使用需要配合相应的注解和方法。 ```java // 正确示例 List<User> users = UserMapper.selectPage(new Page<>(1, 10)); // 分页查询第一页,每页10条数据 ``` 2. **查询语法错误**: 如果你在SQL语句中手动编写了分页逻辑,可能是误用了COUNT(*)代替LIMIT或OFFSET关键字,导致获取的是所有记录的数量而非分页结果。 3. **缓存影响**: MyBatisPlus默认启用了一级和二级缓存,如果不清除缓存可能导致每次请求返回的结果都是上一次查询的结果。 4. **动态查询问题**: 如果使用动态SQL生成复杂条件的分页查询,可能会因为动态条件而忽略了分页部分。 5. **分页插件失效**: 确保分页插件如PageHelper已正确注入到mapper中,并且在mapper.xml文件中有对应的配置。 如果遇到这种情况,建议检查并确认分页参数传递是否正确,以及查询语句是否按照MyBatisPlus的文档所描述的方式编写。同时,通过打印SQL语句,分析其执行结果,有助于定位问题所在。如果有进一步的问题,可以提供具体的代码片段以便详细诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值