From b4104ca5f1fb9de6345efa2b7f30b86e4ca8bb9f Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 08 十一月 2022 17:34:15 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/com/lf/server/helper/ClassHelper.java b/src/main/java/com/lf/server/helper/ClassHelper.java
index 551980e..b094865 100644
--- a/src/main/java/com/lf/server/helper/ClassHelper.java
+++ b/src/main/java/com/lf/server/helper/ClassHelper.java
@@ -1,7 +1,11 @@
 package com.lf.server.helper;
 
+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;
 
 /**
  * 绫诲府鍔╃被
@@ -44,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