mybatis-plus分页失效解决方法 方法一、在启动类添加如下配置 @SpringBootApplication @MapperScan("com.**.mapper") public class DemoApplication { public static void ma
通过对比上面两张图可以发现,图一DefaultSqlSession.selectList()底层调用Plugin.invoke();图二DefaultSqlSession.selectList()底层调用CachingExecutor.query()。其中,图一是分页插件生效的调用链,图二是分页插件失效的调用链。 也就是说,分页插件失效的原因是,mybatis-plusPlugin类没有为分页插件拦截器生成Executor代理。
配置mybatis-plus拦截器,设置以下属性。 package com.xxkj.zgd.school.common.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; import com....
我的mybatisplus版本如下: 2、解决方案: 写一个配置类将分页拦截器注入 由于我的@MapperSacn注解加在SpringBoot启动类上面了,所以这里我就没再加。 代码语言:javascript 复制 packagecom.baomidou.mybatisplus.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension.plugins....
不知道代码有什么改动,用着用着就分页居然不好使了-_-,select时由于没有注入分页条件,导致将所有结果都返回了。没有深究直接上解决方案吧! 添加分页拦截器 @Configuration public class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor(){ ...
解决Mybatis-Plus操作分页后数据失效问题 业务场景 我们知道在使⽤PageHelper分页插件时,会对执⾏PageHelper.startPage(pageNum, pageSize);⽅法后的第⼀条查询语句进⾏分页操作。在开发中总会遇到这样的业务情景,在进⾏分页查询后,需要对获得的列表数据包装成另⼀种类型,此时需要对新类型的列表进⾏...
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //向代理数据源添加分页拦截器 interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); sqlBean.setPlugins(interceptor); //代理数据源添加id生成器,字段自动填充
在MyBatis的配置文件中正确配置拦截器,例如在mybatis-config.xml中使用<plugins>标签包裹拦截器配置。 检查拦截器的逻辑是否正确,在拦截方法中是否正确处理了逻辑,并且返回正确的结果。 可以在拦截器的方法中打印日志,查看是否拦截器被正确调用。 检查是否在MyBatis的配置文件中正确配置了拦截器的顺序,确保拦截器按照正确的顺...
pagehelper官方更新还是挺勤奋的。提供了pagehelper 和springboot auto装配两种。 笔者这里测试了pagehelper-spring-boot-starter这个包不适合本案例中。因为本案例中扫描mapper路径是通过MapperScannerConfigurer注册的。如果使用pagehelper-spring-boot-starter的话就会导致分页拦截器失效。我们看看源码 ...