From b6b0cb226fcf184525ee7b36af3a09471e9c0057 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 25 三月 2024 11:29:33 +0800 Subject: [PATCH] 修改数据统计的查询条件 --- src/main/java/com/lf/server/helper/ClassHelper.java | 88 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 88 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..6befd3a 100644 --- a/src/main/java/com/lf/server/helper/ClassHelper.java +++ b/src/main/java/com/lf/server/helper/ClassHelper.java @@ -1,7 +1,13 @@ 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; /** * 绫诲府鍔╃被 @@ -44,4 +50,86 @@ 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