在我applicationContext.xml中我有以下使用帶有spring3,MyBatis的,和MyBatis的彈簧MapperScannerConfigurer
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="formularyDb" />
<property name="configLocation" value="file:/web/sites/drugformulary-spring/config/mybatis-config.xml" />
<property name="mapperLocations" value="file:/web/sites/drugformulary-spring/mappers/*.xml" />
<!--<property name="mapperLocations" value="classpath*:org/myd/formulary/mappers/*.xml" />-->
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--<property name="basePackage" value="org.myd.formulary.drugmaster.dao" />-->
<property name="basePackage" value="org.myd.formulary.drugmaster" />
</bean>
,如果我有 屬性名= 「basePackage」 值=「org.myd .formulary.drugmaster」 ,我在org.myd.formulary.drugmaster.dao DAO(DrugMasterDao)未找到我得到的*錯誤:
無效的綁定聲明(未找到):
但是,如果我將其更改爲屬性名=「basePackage」值=「org.myd.formulary.drugmaster.dao,DrugMasterDao發現
我想有吾道在其控制器相同的程序包和服務。所以我想知道我如何做到這一點(使用MapperScannerConfigurer)與不同的包在不同的包?他們將全部在org.myd.formulary
感謝您回覆。我最初看過petstore,但它在一個包中包含了所有的持久性接口。我試圖保持我們的原始結構(Spring的早期版本和使用ibatis),我們的持久性接口(Dao's)與控制器和服務在同一個包中。我有自動映射器豆創建好,只有當我把它們都放在同一個包 - – randy
我沒有使用它,但你有沒有考慮使用 ?根據文檔遞歸搜索包,你可以定義標記接口。 –
我試過但沒有工作必須添加 ,所以它看起來像不會遞歸搜索其他包。我將去研究mybatis:掃描並查看是否有一些可設置的參數 –
randy