解决mybatis-plus3.4.1分页插件PaginationInterceptor和防止全表更新与删除插件SqlExplainInterceptor过时失效问题
作者:Petrichori
这篇文章给大家介绍了在Spring.xml文件中配置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分页插件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!