From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Config/DataSource/MybatisPlusConfig.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Config/DataSource/MybatisPlusConfig.java b/src/main/java/com/gk/firework/Config/DataSource/MybatisPlusConfig.java
new file mode 100644
index 0000000..588b788
--- /dev/null
+++ b/src/main/java/com/gk/firework/Config/DataSource/MybatisPlusConfig.java
@@ -0,0 +1,48 @@
+package com.gk.firework.Config.DataSource;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.handler.TableNameHandler;
+import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.HashMap;
+
+/**
+ * @author : jingjy
+ * @date : 2021/4/1 17:15
+ */
+@Configuration
+@MapperScan("com.gk.firework.Mapper")
+public class MybatisPlusConfig {
+
+ public static ThreadLocal<String> myTableName = new ThreadLocal<>();
+
+ @Value("${slice}")
+ private String tableSlice;
+
+ /**
+ * 通过拦截器,拦截SQL请求,可更换表名
+ */
+ @Bean
+ public MybatisPlusInterceptor mybatisPlusInterceptor() {
+ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+ DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
+ HashMap<String, TableNameHandler> map = new HashMap<String, TableNameHandler>(2) {{
+ put("deliveryorder", (sql, tableName) -> tableName + tableSlice);
+ put("deliverydetail", (sql, tableName) -> tableName + tableSlice);
+ put("saleorder", (sql, tableName) -> tableName + tableSlice);
+ put("saleorderdetail", (sql, tableName) -> tableName + tableSlice);
+ put("customer", (sql, tableName) -> tableName + tableSlice);
+ put("entryorder", (sql, tableName) -> tableName + tableSlice);
+ put("entrydetail", (sql, tableName) -> tableName + tableSlice);
+
+ }};
+ dynamicTableNameInnerInterceptor.setTableNameHandlerMap(map);
+ interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);
+ return interceptor;
+ }
+
+}
--
Gitblit v1.9.2