From 8d4f3561d5431dfb6df5edb3d643d93a0bb7dba1 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 11 十二月 2020 18:45:57 +0800
Subject: [PATCH] 修复mybatis-plus插件不生效bug

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java |   94 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 89 insertions(+), 5 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 c335d1b..7f46a75 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,5 +1,14 @@
 package com.ruoyi.framework.config;
 
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
+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;
@@ -12,26 +21,51 @@
 @Configuration
 public class MybatisPlusConfig {
 
+	@Bean
+	public MybatisPlusInterceptor mybatisPlusInterceptor() {
+		MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+		// 鍒嗛〉鎻掍欢
+		interceptor.addInnerInterceptor(paginationInnerInterceptor());
+		// 涔愯閿佹彃浠�
+		interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+		// 闃绘柇鎻掍欢
+		interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+		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;
+	}
+
+	/**
+	 * 鏂扮殑鍒嗛〉鎻掍欢,涓�缂撳拰浜岀紦閬靛惊mybatis鐨勮鍒�,闇�瑕佽缃� MybatisConfiguration#useDeprecatedExecutor = false 閬垮厤缂撳瓨鍑虹幇闂(璇ュ睘鎬т細鍦ㄦ棫鎻掍欢绉婚櫎鍚庝竴鍚岀Щ闄�)
 	 */
 	@Bean
-	public PaginationInnerInterceptor paginationInnerInterceptor() {
-		return new PaginationInnerInterceptor();
+	public ConfigurationCustomizer configurationCustomizer() {
+		return configuration -> configuration.setUseDeprecatedExecutor(false);
 	}
 
 	/**
 	 * 涔愯閿佹彃浠�
+	 * https://baomidou.com/guide/interceptor-optimistic-locker.html
 	 */
-	@Bean
 	public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {
 		return new OptimisticLockerInnerInterceptor();
 	}
 
 	/**
 	 * 濡傛灉鏄鍏ㄨ〃鐨勫垹闄ゆ垨鏇存柊鎿嶄綔锛屽氨浼氱粓姝㈣鎿嶄綔
+	 * https://baomidou.com/guide/interceptor-block-attack.html
 	 */
-	@Bean
 	public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {
 		return new BlockAttackInnerInterceptor();
 	}
@@ -40,9 +74,59 @@
 	 * sql鎬ц兘瑙勮寖鎻掍欢(鍨冨溇SQL鎷︽埅)
 	 * 濡傛湁闇�瑕佸彲浠ュ惎鐢�
 	 */
-//	@Bean
 //	public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() {
 //		return new IllegalSQLInnerInterceptor();
 //	}
 
+	/**
+	 * 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
+	 */
+
 }

--
Gitblit v1.9.3