From 1ba5e86262b1925d53ba64ab80e7a50f22959fd6 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期六, 28 五月 2022 09:32:50 +0800
Subject: [PATCH] 新增Anonymous匿名访问不鉴权注解

---
 src/main/java/com/ruoyi/framework/config/MyBatisConfig.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java b/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
index 508bc45..e30fe74 100644
--- a/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
@@ -2,6 +2,7 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import javax.sql.DataSource;
@@ -21,6 +22,7 @@
 import org.springframework.core.type.classreading.MetadataReader;
 import org.springframework.core.type.classreading.MetadataReaderFactory;
 import org.springframework.util.ClassUtils;
+import com.ruoyi.common.utils.StringUtils;
 
 /**
  * Mybatis鏀寔*鍖归厤鎵弿鍖�
@@ -89,6 +91,28 @@
         return typeAliasesPackage;
     }
 
+    public Resource[] resolveMapperLocations(String[] mapperLocations)
+    {
+        ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
+        List<Resource> resources = new ArrayList<Resource>();
+        if (mapperLocations != null)
+        {
+            for (String mapperLocation : mapperLocations)
+            {
+                try
+                {
+                    Resource[] mappers = resourceResolver.getResources(mapperLocation);
+                    resources.addAll(Arrays.asList(mappers));
+                }
+                catch (IOException e)
+                {
+                    // ignore
+                }
+            }
+        }
+        return resources.toArray(new Resource[resources.size()]);
+    }
+
     @Bean
     public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
     {
@@ -101,7 +125,7 @@
         final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
         sessionFactory.setDataSource(dataSource);
         sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
-        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
+        sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
         sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
         return sessionFactory.getObject();
     }

--
Gitblit v1.9.3