mybatis 整合spring之mapperLocations配置的问题

今天尝试spring整合mybatis时遇到这么一个问题,就是在配置sqlSessionFactory时是否要配置mapperLocations的问题。

[
复制代码

](javascript:void(0); "复制代码")

<pre><bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="datasource"></property>
<property name="typeAliasesPackage" value="com.fan.entity"/>

<property name="mapperLocations" value="classpath:com/fan/mapper/*.xml" />

<!--也可以引入mybatis配置文件 
    <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property> -->

</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.fan.mapper"></property>
</bean></pre>

[
复制代码

](javascript:void(0); "复制代码")

结论是:如果Mapper.xml与Mapper.class在同一个包下且同名,spring扫描Mapper.class的同时会自动扫描同名的Mapper.xml并装配到Mapper.class。

如果Mapper.xml与Mapper.class不在同一个包下或者不同名,就必须使用配置mapperLocations指定mapper.xml的位置。

此时spring是通过识别mapper.xml中的 <mapper namespace="com.fan.mapper.UserDao"> namespace的值来确定对应的Mapper.class的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,292评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,010评论 6 342
  • Spring中Mybatis的配置方案一 2.1 多数据源配置案例 (1)数据源配置(2)创建sqlSession...
    发光时代或个人头一回阅读 3,061评论 0 0
  • 在冷漠中等待秋天 等待你送来雨伞 为我挡住倾盆洒落 没有气息的叶 如果没有你 我会站在那里 看落叶吹满一地
    冷川远树阅读 226评论 0 0
  • 昨天检查作业又是错字连篇,尤其是抄写作业,因为量大,所以只想着一蹴而就,要么是对字压根就不熟悉,要么是粗心,要么是...
    相信自己可以更好阅读 892评论 0 0