欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

解决mybatis-plus3.4.1分页插件PaginationInterceptor和防止全表更新与删除插件SqlExplainInterceptor过时失效问题

时间:2021-05-27 08:43:54|栏目:JAVA代码|点击:

前言

在Mybatis Plus 3.4.0版本之后PaginationInterceptor插件就失效,新增Mybatis Plus 3.4.0的新内置插件

提示:以下是本篇文章正文内容,下面案例可供参考

分页插件

 一、之前的配置

 在sqlSessionFactoryBean中配置插件

<property name="plugins">
   <array>
    <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor"></bean>
   </array>
</property>

二、Mybatis Plus 3.4.0版本之后配置分页插件

 在sqlSessionFactoryBean中配置插件

<property name="plugins">
   <array>
<!--    <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">-->
<!--    </bean>-->
    <bean class="com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor">
     <property name="interceptors">
      <list>
       <bean class="com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor"></bean>
      </list>
     </property>
    </bean>
   </array>
</property>

防止全表更新与删除插件

一、之前的配置

 在sqlSessionFactoryBean中配置插件

 <property name="plugins">
   <array>
    <bean class="com.baomidou.mybatisplus.extension.plugins.SqlExplainInterceptor"></bean>
   </array>
</property>

二、Mybatis Plus 3.4.0版本之后配置防止全表更新与删除插件

 在sqlSessionFactoryBean中配置插件

<property name="plugins">
   <array>
<!--    <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">-->
<!--    </bean>-->
<!--    <bean class="com.baomidou.mybatisplus.extension.plugins.SqlExplainInterceptor"></bean>-->
    <bean class="com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor">
     <property name="interceptors">
      <list>
       <bean class="com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor"></bean>
       <bean class="com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor"></bean>
      </list>
     </property>
    </bean>
   </array>
</property>

其中com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor就是防止全表更新与删除插件类

其他配置请参照官方文档插件配置

ps:下面看下 Mybatis-plus新版本分页失效,PaginationInterceptor过时问题

一、确认mybatis-plus-boot-starter版本

3.4.0版本对此部分有更新,如果是旧版本升级,会出现分页失效问题,同时idea会提示PaginationInterceptor过时,新版本改用了MybatisPlusInterceptor

在这里插入图片描述

二、Mybatis-plus3.4.0版本配置

更改新版配置后,分页功能正常,注意DbType.MYSQL改为自己使用的数据库类型,否则分页也不生效

@Configuration
public class MyBatisPlusConfig {
	
	/*	旧版本配置
	@Bean
	public PaginationInterceptor paginationInterceptor(){
		return new PaginationInterceptor();
	}*/

	/**
	 * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题
	 */
	@Bean
	public MybatisPlusInterceptor mybatisPlusInterceptor() {
		MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
		interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
		return interceptor;
	}

	@Bean
	public ConfigurationCustomizer configurationCustomizer() {
		return configuration -> configuration.setUseDeprecatedExecutor(false);
	}
}

上一篇:基于springboot设置Https请求过程解析

栏    目:JAVA代码

下一篇:Java实现验证码具体代码(图片、汉字)

本文标题:解决mybatis-plus3.4.1分页插件PaginationInterceptor和防止全表更新与删除插件SqlExplainInterceptor过时失效问题

本文地址:http://www.codeinn.net/misctech/129864.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有