From 3d6fbb93f56d5221661f7899a00c5a70072e5ee5 Mon Sep 17 00:00:00 2001
From: wugh <328043740@qq.com>
Date: 星期一, 22 三月 2021 09:32:49 +0800
Subject: [PATCH] !11 [功能] 拆分出Vo,QueryBo,AddBo,EditBo等领域对象 * [修改] 错误引入的无用导包删除 * [新增] 增加Vo,QueryBo,AddBo,EditBo等视图,并调整controller,service的调用代码 * [新增] 增加CreateAndUpdateMetaObjectHandler,配合fill注解,实现创建和修改人的自动设置,减少重复代码

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java |   74 ++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 29 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 5073512..fb9c7f7 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,15 +1,18 @@
 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;
 import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
+import com.ruoyi.framework.mybatisplus.CreateAndUpdateMetaObjectHandler;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -18,10 +21,22 @@
 @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
 	 */
-	@Bean
 	public PaginationInnerInterceptor paginationInnerInterceptor() {
 		PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
 		// 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
@@ -32,25 +47,17 @@
 	}
 
 	/**
-	 * 鏂扮殑鍒嗛〉鎻掍欢,涓�缂撳拰浜岀紦閬靛惊mybatis鐨勮鍒�,闇�瑕佽缃� MybatisConfiguration#useDeprecatedExecutor = false 閬垮厤缂撳瓨鍑虹幇闂(璇ュ睘鎬т細鍦ㄦ棫鎻掍欢绉婚櫎鍚庝竴鍚岀Щ闄�)
-	 */
-	@Bean
-	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();
 	}
@@ -59,34 +66,43 @@
 	 * sql鎬ц兘瑙勮寖鎻掍欢(鍨冨溇SQL鎷︽埅)
 	 * 濡傛湁闇�瑕佸彲浠ュ惎鐢�
 	 */
-//	@Bean
 //	public IllegalSQLInnerInterceptor illegalSQLInnerInterceptor() {
 //		return new IllegalSQLInnerInterceptor();
-//	}
-
-	/**
-	 * Sequence涓婚敭绛栫暐 IdType.INPUT 鏃朵娇鐢�
-	 * 鍐呯疆鏀寔锛�
-	 *
-	 * DB2KeyGenerator
-	 * H2KeyGenerator
-	 * KingbaseKeyGenerator
-	 * OracleKeyGenerator
-	 * PostgreKeyGenerator
-	 */
-//	@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 CreateAndUpdateMetaObjectHandler();
+	}
+
+	/**
+	 * 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