【发布时间】:2017-11-07 04:55:48
【问题描述】:
我们的项目结构如下:
- basePkg
|- pkg1
|- dao1
|- mybatis-mappers...
|- classes...
|- pkg2
|- dao2
|- mybatis-mappers...
|- classes...
现在,每当我们将 mybatis 映射器添加到任何 dao 包时,我们都必须在 spring context.xml 中添加如下所示的新条目
<bean id="testDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="basePkg.pkg1.dao1.testDao" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
为每个新映射器不断添加新条目变得越来越麻烦。我发现的另一种方法是使用<mybatis:scan \>。这种方法我面临两个问题:
- 我不想直接提供 basePkg,因为它需要 Spring 扫描整个项目结构中的映射器,这会影响性能。这意味着我必须为每个
basPkg.dao*包提供一个单独的扫描元素。相反,有没有办法使用单个扫描元素并使用正则表达式指定所有dao子包? - 我们使用两个数据源(MySQL 和 RedShift)。在解决上面列出的第一个问题时,我该如何解释这一点?
【问题讨论】:
标签: java spring mybatis spring-mybatis