| | |
| | |
|
| | | import java.io.IOException;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Arrays;
|
| | | import java.util.HashSet;
|
| | | import java.util.List;
|
| | | import javax.sql.DataSource;
|
| | |
| | | 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支持*匹配扫描包
|
| | |
| | | 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
|
| | | {
|
| | |
| | | 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();
|
| | | }
|