From 08ef09c9b594dca75b39e36add38998826b234bf Mon Sep 17 00:00:00 2001 From: Charles7c Date: Tue, 10 Sep 2024 22:12:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(data/mp):=20=E6=96=B0=E5=A2=9E=E4=B9=90?= =?UTF-8?q?=E8=A7=82=E9=94=81=E6=8F=92=E4=BB=B6=E5=90=AF=E7=94=A8=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=88=E9=BB=98=E8=AE=A4=E5=85=B3=E9=97=AD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyBatisPlusExtensionProperties.java | 13 +++++++++++++ .../autoconfigure/MybatisPlusAutoConfiguration.java | 9 +++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MyBatisPlusExtensionProperties.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MyBatisPlusExtensionProperties.java index 303db90f..4d046dbd 100644 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MyBatisPlusExtensionProperties.java +++ b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MyBatisPlusExtensionProperties.java @@ -59,6 +59,11 @@ public class MyBatisPlusExtensionProperties { */ private PaginationProperties pagination; + /** + * 启用乐观锁插件 + */ + private boolean optimisticLockerEnabled = false; + /** * 启用防全表更新与删除插件 */ @@ -181,6 +186,14 @@ public class MyBatisPlusExtensionProperties { this.pagination = pagination; } + public boolean isOptimisticLockerEnabled() { + return optimisticLockerEnabled; + } + + public void setOptimisticLockerEnabled(boolean optimisticLockerEnabled) { + this.optimisticLockerEnabled = optimisticLockerEnabled; + } + public boolean isBlockAttackPluginEnabled() { return blockAttackPluginEnabled; } diff --git a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MybatisPlusAutoConfiguration.java b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MybatisPlusAutoConfiguration.java index 72f89b18..50cec97a 100644 --- a/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MybatisPlusAutoConfiguration.java +++ b/continew-starter-data/continew-starter-data-mp/src/main/java/top/continew/starter/data/mp/autoconfigure/MybatisPlusAutoConfiguration.java @@ -20,10 +20,7 @@ import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusPropertiesCustomizer; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.handler.DataPermissionHandler; -import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.*; import jakarta.annotation.PostConstruct; import org.mybatis.spring.annotation.MapperScan; import org.slf4j.Logger; @@ -96,6 +93,10 @@ public class MybatisPlusAutoConfiguration { if (null != paginationProperties && paginationProperties.isEnabled()) { interceptor.addInnerInterceptor(this.paginationInnerInterceptor(paginationProperties)); } + // 乐观锁插件 + if (properties.isOptimisticLockerEnabled()) { + interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); + } // 防全表更新与删除插件 if (properties.isBlockAttackPluginEnabled()) { interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());