在SSM框架中为了使映射文件和整个项目的层次接口更加贴合,我们通常会使映射文件和接口写在同一个包下并且名字相同,在这样的情况下,映射问件会自动匹配接口,但有时为了某些原因我们不得不把映射文件和接口分开到不同的包中,如在一般的编程活动中,我为了使实现类和接口的结构更加清晰和易于找到,会将接口和实现类写在不同的包中,不过在SSM框架中写在不同包中的映射问件和接口会无法匹配,这就是写此文的目的,也是自己在开发中遇到的问题,当时也百度过,不过也是综合了几个博文的解决方法才得以解决。
1.在MyBatis核心配置文件中加入接口的路径和映射文件路径
<configuration>
<mappers>
<mapper resource="com/yun/bookstore/user/mapper/UserBookManMapper.xml"/>
<mapper resource="com/yun/bookstore/user/mapper/UserManMapper.xml"/>
<package name="com.yun.bookstore.user.dao.UserManMapper"/>
<package name="com.yun.bookstore.user.dao.UserBookManMapper"/>
</mappers>
</configuration>
注意:必须加入具体的路径,具体如上
2.在ApplicationContext.xml文件中添加MyBatis扫描,并添加接口依赖包
具体如下:
<mybatis:scan base-package="com.yun.bookstore.user.dao"/>
注意:这里添加的是接口的所在包路径