Mybatis-plus 分页查询失效,总结为以下三点,如有遗漏欢迎补充
1.Mybatis-plus 的版本 和 分页插件不匹配,自 Mybatis-plus3.4.0 版本后,都是使用的MybatisPlusInterceptor 来进行的拦截 所以推荐使用3.4.0 以后的版本
package demo.demo_dao.plus_config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* @program: demo
* @description:
* @author: 工厂梦
* @create: 2022-03-15 08:56:26
**/
@EnableTransactionManagement
@Configuration
@MapperScan("demo.demo_dao.*.mapper")
public class MybatisPlusConfig {
/**
* 新的分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
实际的分页拦截器还是
PaginationInnerInterceptor
2.在使用的时候 Page 如果没有设置 size的大小,他的默认值是10
3.自定义XML 分页的时候,Page page 要放最前面,同时要注意size 默认值,(否则摸头杀,不知道啥问题)
例如:
/*
* @Description: 自定义xml 分页
* @Date: 2022/3/15 18:55
*/
@RequestMapping("/customPage")
@ResponseBody
public List<User> customPage(Page page,String num){
List<User> users = userService.userPage(page,num);
return users;
}
4.注意:问题1的实例代码,我们添加了注解
//事务的开启看你自己的需要 :@EnableTransactionManagement
@Configuration
要是你的MybatisPlusConfig 没有,并且无法正常运行,请加上
版权声明:本文为qq_35006507原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。