From 30f0bdc754cc1d85a72c5cb86b84ca20a67ef20c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 16 四月 2022 14:08:11 +0800
Subject: [PATCH] update 使用 spring cglib 替换 停止维护的 cglib

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java |  188 +++++++++++++++++++---------------------------
 1 files changed, 79 insertions(+), 109 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index 7f46a75..ffd2c15 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,132 +1,102 @@
 package com.ruoyi.framework.config;
 
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
+import cn.hutool.core.net.NetUtil;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
 import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
-import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
-import com.baomidou.mybatisplus.core.injector.ISqlInjector;
-import com.baomidou.mybatisplus.extension.incrementer.H2KeyGenerator;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.IllegalSQLInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.ruoyi.framework.handler.CreateAndUpdateMetaObjectHandler;
+import com.ruoyi.framework.interceptor.PlusDataPermissionInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
+/**
+ * mybatis-plus閰嶇疆绫�(涓嬫柟娉ㄩ噴鏈夋彃浠朵粙缁�)
+ *
+ * @author Lion Li
+ */
 @EnableTransactionManagement(proxyTargetClass = true)
 @Configuration
+@MapperScan("${mybatis-plus.mapperPackage}")
 public class MybatisPlusConfig {
 
-	@Bean
-	public MybatisPlusInterceptor mybatisPlusInterceptor() {
-		MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-		// 鍒嗛〉鎻掍欢
-		interceptor.addInnerInterceptor(paginationInnerInterceptor());
-		// 涔愯閿佹彃浠�
-		interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
-		// 闃绘柇鎻掍欢
-		interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
-		return interceptor;
-	}
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        // 鏁版嵁鏉冮檺澶勭悊
+        interceptor.addInnerInterceptor(dataPermissionInterceptor());
+        // 鍒嗛〉鎻掍欢
+        interceptor.addInnerInterceptor(paginationInnerInterceptor());
+        // 涔愯閿佹彃浠�
+        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+        return interceptor;
+    }
 
-	/**
-	 * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷
-	 * https://baomidou.com/guide/interceptor-pagination.html
-	 */
-	public PaginationInnerInterceptor paginationInnerInterceptor() {
-		PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
-		// 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
-		paginationInnerInterceptor.setDbType(DbType.MYSQL);
-		// 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
-		paginationInnerInterceptor.setMaxLimit(-1L);
-		return paginationInnerInterceptor;
-	}
+    /**
+     * 鏁版嵁鏉冮檺鎷︽埅鍣�
+     */
+    public PlusDataPermissionInterceptor dataPermissionInterceptor() {
+        return new PlusDataPermissionInterceptor();
+    }
 
-	/**
-	 * 鏂扮殑鍒嗛〉鎻掍欢,涓�缂撳拰浜岀紦閬靛惊mybatis鐨勮鍒�,闇�瑕佽缃� MybatisConfiguration#useDeprecatedExecutor = false 閬垮厤缂撳瓨鍑虹幇闂(璇ュ睘鎬т細鍦ㄦ棫鎻掍欢绉婚櫎鍚庝竴鍚岀Щ闄�)
-	 */
-	@Bean
-	public ConfigurationCustomizer configurationCustomizer() {
-		return configuration -> configuration.setUseDeprecatedExecutor(false);
-	}
+    /**
+     * 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷
+     */
+    public PaginationInnerInterceptor paginationInnerInterceptor() {
+        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+        // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
+        paginationInnerInterceptor.setMaxLimit(-1L);
+        // 鍒嗛〉鍚堢悊鍖�
+        paginationInnerInterceptor.setOverflow(true);
+        return paginationInnerInterceptor;
+    }
 
-	/**
-	 * 涔愯閿佹彃浠�
-	 * https://baomidou.com/guide/interceptor-optimistic-locker.html
-	 */
-	public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
-		return new OptimisticLockerInnerInterceptor();
-	}
+    /**
+     * 涔愯閿佹彃浠�
+     */
+    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
+        return new OptimisticLockerInnerInterceptor();
+    }
 
-	/**
-	 * 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔
-	 * https://baomidou.com/guide/interceptor-block-attack.html
-	 */
-	public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
-		return new BlockAttackInnerInterceptor();
-	}
+    /**
+     * 鍏冨璞″瓧娈靛~鍏呮帶鍒跺櫒
+     */
+    @Bean
+    public MetaObjectHandler metaObjectHandler() {
+        return new CreateAndUpdateMetaObjectHandler();
+    }
 
-	/**
-	 * sql鎬ц兘瑙勮寖鎻掍欢(鍨冨溇SQL鎷︽埅)
-	 * 濡傛湁闇�瑕佸彲浠ュ惎鐢�
-	 */
-//	public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() {
-//		return new IllegalSQLInnerInterceptor();
-//	}
+    /**
+     * 浣跨敤缃戝崱淇℃伅缁戝畾闆姳鐢熸垚鍣�
+     * 闃叉闆嗙兢闆姳ID閲嶅
+     */
+    @Bean
+    public IdentifierGenerator idGenerator() {
+        return new DefaultIdentifierGenerator(NetUtil.getLocalhost());
+    }
 
-	/**
-	 * Sequence涓婚敭绛栫暐 IdType.INPUT 鏃朵娇鐢�
-	 * 鍐呯疆鏀寔锛�
-	 *
-	 * DB2KeyGenerator
-	 * H2KeyGenerator
-	 * KingbaseKeyGenerator
-	 * OracleKeyGenerator
-	 * PostgreKeyGenerator
-	 * https://baomidou.com/guide/sequence.html
-	 */
-//	@Bean
-//	public IKeyGenerator keyGenerator() {
-//		return new H2KeyGenerator();
-//	}
-
-
-	/**
-	 * 鑷畾涔変富閿瓥鐣�
-	 * https://baomidou.com/guide/id-generator.html
-	 */
-//	@Bean
-//	public IdentifierGenerator idGenerator() {
-//		return new CustomIdGenerator();
-//	}
-
-	/**
-	 * 鍏冨璞″瓧娈靛~鍏呮帶鍒跺櫒
-	 * https://baomidou.com/guide/auto-fill-metainfo.html
-	 */
-//	@Bean
-//	public MetaObjectHandler metaObjectHandler() {
-//		return new MyMetaObjectHandler();
-//	}
-
-	/**
-	 * sql娉ㄥ叆鍣ㄩ厤缃�
-	 * https://baomidou.com/guide/sql-injector.html
-	 */
-//	@Bean
-//	public ISqlInjector sqlInjector() {
-//		return new DefaultSqlInjector();
-//	}
-
-	/**
-	 * TenantLineInnerInterceptor 澶氱鎴锋彃浠�
-	 * https://baomidou.com/guide/interceptor-tenant-line.html
-	 * DynamicTableNameInnerInterceptor 鍔ㄦ�佽〃鍚嶆彃浠�
-	 * https://baomidou.com/guide/interceptor-dynamic-table-name.html
-	 */
+    /**
+     * PaginationInnerInterceptor 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷
+     * https://baomidou.com/pages/97710a/
+     * OptimisticLockerInnerInterceptor 涔愯閿佹彃浠�
+     * https://baomidou.com/pages/0d93c0/
+     * MetaObjectHandler 鍏冨璞″瓧娈靛~鍏呮帶鍒跺櫒
+     * https://baomidou.com/pages/4c6bcf/
+     * ISqlInjector sql娉ㄥ叆鍣�
+     * https://baomidou.com/pages/42ea4a/
+     * BlockAttackInnerInterceptor 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔
+     * https://baomidou.com/pages/f9a237/
+     * IllegalSQLInnerInterceptor sql鎬ц兘瑙勮寖鎻掍欢(鍨冨溇SQL鎷︽埅)
+     * IdentifierGenerator 鑷畾涔変富閿瓥鐣�
+     * https://baomidou.com/pages/568eb2/
+     * TenantLineInnerInterceptor 澶氱鎴锋彃浠�
+     * https://baomidou.com/pages/aef2f2/
+     * DynamicTableNameInnerInterceptor 鍔ㄦ�佽〃鍚嶆彃浠�
+     * https://baomidou.com/pages/2a45ff/
+     */
 
 }

--
Gitblit v1.9.3