|
|
|
@ -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();
|
|
|
|
|
}
|
|
|
|
|