mapperLocations配置支持分隔符
This commit is contained in:
		| @@ -2,6 +2,7 @@ package com.ruoyi.framework.config; | ||||
|  | ||||
| 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.CachingMetadataReaderFactory; | ||||
| 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 @@ public class MyBatisConfig | ||||
|         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 @@ public class MyBatisConfig | ||||
|         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(); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user