打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Mybatis Plus 3.4版本之后分页插件的变化

一、MybatisPlusInterceptor

从Mybatis Plus 3.4.0版本开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。

MybatisPlusInterceptor是一系列的实现InnerInterceptor的拦截器链,也可以理解为一个集合。可以包括如下的一些拦截器

  • 自动分页: PaginationInnerInterceptor(最常用)

  • 多租户: TenantLineInnerInterceptor

  • 动态表名: DynamicTableNameInnerInterceptor

  • 乐观锁: OptimisticLockerInnerInterceptor

  • sql性能规范: IllegalSQLInnerInterceptor

  • 防止全表更新与删除: BlockAttackInnerInterceptor

二、旧版分页插件配置方法(Mybatis Plus 3.4.0版本之前)

@Configuration@MapperScan(basePackages = {"com.zimug.**.mapper"})public class MybatisPlusConfig {    @Bean    public PaginationInterceptor paginationInterceptor() {        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false        // paginationInterceptor.setOverflow(false);        // 设置最大单页限制数量,默认 500 条,-1 不受限制        // paginationInterceptor.setLimit(500);        // 开启 count 的 join 优化,只针对部分 left join        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));        return paginationInterceptor;    }}

三、新的分页插件配置方法(Mybatis Plus 3.4.0版本及其之后的版本)

新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题

@Configuration@MapperScan(basePackages = {"com.zimug.**.mapper"})public class MybatisPlusConfig {  /**   * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)   */  @Bean  public MybatisPlusInterceptor mybatisPlusInterceptor() {    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();    //向Mybatis过滤器链中添加分页拦截器    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));    //还可以添加i他的拦截器    return interceptor;  }  @Bean  public ConfigurationCustomizer configurationCustomizer() {    return configuration -> configuration.setUseDeprecatedExecutor(false);  }}

四、分页查询的使用方法

分页查询的使用方法没有变化,仍然和Mybatis之前的版本一致,没有变化。 这里简单举一个例子 

Page<SysUserOrg> page = new Page<> (pageNum,pageSize);   //查询第pageNum页,每页pageSize条数据//将分页参数page作为Mybatis或Mybatis Plus的第一个参数传入持久层函数,即可完成分页查询return mySystemMapper.selectUser(page, 其他参数 );
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
给你的 MyBatis-Plus 装上批量插入的翅膀
MyBatis-Plus配置日志与CRUD
Mybatis3分页, 基于Mybatis Generator插件生成分页语句
Mybatis返回Map的一种实现
深入浅出Mybatis
使用ThreadLocal结合struts2的拦截器实现分页
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服