From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/helper/ClassHelper.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 117 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..6befd3a 100644 --- a/src/main/java/com/lf/server/helper/ClassHelper.java +++ b/src/main/java/com/lf/server/helper/ClassHelper.java @@ -1,10 +1,27 @@ package com.lf.server.helper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.mapper.all.GeomBaseMapper; +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 +29,107 @@ 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; + } + } + + /** + * 鑾峰彇鐖禡apper + * + * @param name Mapper鍚� + * @return BaseMapper + */ + public static BasicMapper getBasicMapper(String name) { + if (StringHelper.isEmpty(name)) { + return null; + } + + Object obj = getBean(name.trim() + "Mapper"); + if (!(obj instanceof BasicMapper)) { + return null; + } + + return (BasicMapper) obj; + } + + /** + * 鑾峰彇绌洪棿鐖禡apper + * + * @param name Mapper鍚� + * @return GeomBaseMapper + */ + public static GeomBaseMapper getGeoBaseMapper(String name) { + if (StringHelper.isEmpty(name)) { + return null; + } + + Object obj = getBean(name.trim() + "Mapper"); + if (!(obj instanceof GeomBaseMapper)) { + return null; + } + + return (GeomBaseMapper) obj; + } + + /** + * 鑾峰彇绫诲悕 + * + * @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