1. 程式人生 > 程式設計 >解決mybatis-plus3.4.1分頁外掛PaginationInterceptor和防止全表更新與刪除外掛SqlExplainInterceptor過時失效問題

解決mybatis-plus3.4.1分頁外掛PaginationInterceptor和防止全表更新與刪除外掛SqlExplainInterceptor過時失效問題

前言

在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);
	}
}

到此這篇關於解決mybatis-plus3.4.1分頁外掛PaginationInterceptor和防止全表更新與刪除外掛SqlExplainInterceptor過時失效問題的文章就介紹到這了,更多相關mybatis-plus3.4.1分頁外掛內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!