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