From 16aff7930d4a2b8e1034f8f3d6caafb5f422b363 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 29 十月 2022 17:03:44 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/ClassHelper.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/ClassHelper.java b/src/main/java/com/lf/server/helper/ClassHelper.java
index 4510b68..b094865 100644
--- a/src/main/java/com/lf/server/helper/ClassHelper.java
+++ b/src/main/java/com/lf/server/helper/ClassHelper.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.aop.support.AopUtils;
+
+import java.lang.reflect.Type;
 
 /**
  * 绫诲府鍔╃被
@@ -30,18 +33,6 @@
     }
 
     /**
-     * 鏍规嵁BaseMapper鍒涘缓瀹炰綋绫�
-     *
-     * @param baseMapper 鐖禡apper
-     * @return 瀹炰綋绫�
-     */
-    public static Object createEntityByMapper(BaseMapper baseMapper) {
-        String className = baseMapper.getClass().getName().replace(".mapper", ".entity").replace("Mapper", "Entity");
-
-        return createInstance(className);
-    }
-
-    /**
      * 鑾峰彇Bean
      *
      * @param className 绫诲悕
@@ -57,4 +48,48 @@
             return null;
         }
     }
+
+    /**
+     * 鑾峰彇绫诲悕
+     *
+     * @param baseMapper 鐖禡apper
+     * @return 绫诲悕
+     */
+    public static String getClassName(BaseMapper baseMapper) {
+        Type[] genericInterfaces = AopUtils.getTargetClass(baseMapper).getGenericInterfaces();
+
+        return genericInterfaces[0].getTypeName();
+    }
+
+    /**
+     * 鏍规嵁Mapper绫诲悕鑾峰彇瀹炰綋绫荤殑Class
+     *
+     * @param className Mapper绫诲悕
+     * @return 瀹炰綋绫荤殑Class
+     */
+    public static Class getEntityClass(String className) {
+        try {
+            className = className.replace(".mapper", ".entity").replace("Mapper", "Entity");
+            Class clazz = Class.forName(className);
+
+            return clazz;
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            return null;
+        }
+    }
+
+
+    /**
+     * 鏍规嵁BaseMapper鍒涘缓瀹炰綋绫�
+     *
+     * @param baseMapper 鐖禡apper
+     * @return 瀹炰綋绫�
+     */
+    public static Object createEntityByMapper(BaseMapper baseMapper) {
+        String className = getClassName(baseMapper);
+        className = className.replace(".mapper", ".entity").replace("Mapper", "Entity");
+
+        return createInstance(className);
+    }
 }

--
Gitblit v1.9.3