问题描述:
在整合ssm框架时,在spring配置文件中完成classpath:Dao/*.xml,完成mapper的映射。(文件名对应后,resource映射方式是寻找资源路径,不能使用 .,而是应该使用/。)
这种方式没错,之后想使用Mybatis的配置文件实现mapper的映射,一直报错,后来发现是配置文件在resource/Dao/*.xml,而对应类在java/com/lzw/Dao中,两者不对应导致映射失败,故在资源文件建立com/lzw/Dao文件夹,在此文件夹中放配置文件,Mybatis配置方式实现成功。
回头再Spring配置文件中想读取配置文件,
classpath:com/lzw/Dao/BooksMapper.xml****能读取成功,
改为****classpath:com/lzw/Dao/*.xml则读取失败,
1)再改为 classpath*:com/lzw/Dao/*.xml读取成功。
2)此外再配置文件中加上
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入sqlSessionFactory ,此处不用SqlSessionTemplate-->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<!-- 给出需要扫描Dao接口包 -->
<property name="basePackage" value="com.lzw.Dao"/>
</bean>
也能读取成功。
上述情况在另外一个项目都没出错,即只要简单的
<property name="mapperLocations" value="classpath:com/lzw/Dao/*.xml"></property>
就能读取配置文件