From dba9054ddcc6a9cec93ab58ecef4c3de4ce64310 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 14 十一月 2022 16:15:14 +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