From fd098f67ef7e57f7165c06519a3f238f9d4529b0 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 15 十一月 2022 09:19:14 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/ClassHelper.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 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 6d51e04..b094865 100644 --- a/src/main/java/com/lf/server/helper/ClassHelper.java +++ b/src/main/java/com/lf/server/helper/ClassHelper.java @@ -1,10 +1,25 @@ 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; + /** * 绫诲府鍔╃被 * @author WWW */ public class ClassHelper { + private final static Log log = LogFactory.getLog(ClassHelper.class); + + /** + * 鏍规嵁绫诲悕鍒涘缓瀹炰緥 + * + * @param className 绫诲悕 + * @return 瀹炰綋 + */ public static Object createInstance(String className) { try { Class clazz = Class.forName(className); @@ -12,7 +27,69 @@ return obj; } catch (Exception ex) { + log.error(ex.getMessage(), ex); return null; } } + + /** + * 鑾峰彇Bean + * + * @param className 绫诲悕 + * @return Bean + */ + public static Object getBean(String className) { + try { + Object obj = SpringContextHelper.getBean(className); + + return obj; + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + 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