Mybatis的mapper-locations配置多个mapper路径
·
一、 在spring中使用
在创建SqlSessionFactoryBean中指定mapperLocations参数,该参数为Resource[],代码如下:
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) throws IOException {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
bean.setDataSource(dataSource);
Resource[] resources = resolver.getResources("classpath:mapper/*.xml");
bean.setMapperLocations(resources);
return bean;
}
二、在springboot中使用
在配置文件中指定,多个路径使用`,`分割,代码如下:
mybatis:
config-location: classpath:mybatis-config.xml
mapper-locations: classpath:/mapper/*.xml,classpath:/others/*.xml
Tips: Mybatis的xml文件路径如下:
参考代码:
MabatisProperties类
public Resource[] resolveMapperLocations() {
ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
List<Resource> resources = new ArrayList<Resource>();
if (this.mapperLocations != null) {
for (String mapperLocation : this.mapperLocations) {
try {
Resource[] mappers = resourceResolver.getResources(mapperLocation);
resources.addAll(Arrays.asList(mappers));
} catch (IOException e) {
// ignore
}
}
}
return resources.toArray(new Resource[resources.size()]);
}
更多推荐
已为社区贡献1条内容
所有评论(0)