打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
mybatis和Spring的集成
    Spring暂未提供整合myBatis的功能,目前只能使用myBatis提供的mybatis-spring整合类包。不过从功能上来说,mybatis-spring完全符合Spring的风格,功能上也没有任何区别。
<?xml version="1.0" encoding="UTF-8" ?> 
<beans …>  
   
<context:component-scan base-package="com.sample.dao.mybatis" />  
   
<context:component-scan base-package="com.sample.service.mybatis" />  
   
<context:property-placeholder location="classpath:jdbc.properties" />  
  
 <bean id="dataSource"  class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close"  
             p:driverClassName="${jdbc.driverClassName}" 
           
 p:url="${jdbc.url}"  
           
 p:username="${jdbc.username}"  
           
 p:password="${jdbc.password}" /> 
   
<bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean" 
           
 p:dataSource-ref="dataSource"  
           
 p:configLocation="classpath:myBatisConfig.xml"/> 
</beans>

    mybatis-spring类包提供了一个SqlSessionFactoryBean,以便通过Spring风格创建myBatis的SqlSessioinFactory,如①所示。只需要注入数据源并指定myBatis的总装配置文件就可以了,如②所示。
如果在myBatis总装配置文件mybatisConfig.xml中指定SQL映射文件,必须逐个列表所有的SQL映射文件,比较烦琐。是否可以像Spring加载Hibernate映射文件一样按资源路径匹配规则扫描式加载呢?答案是肯定的,SqlSessionFactoryBean提供了mapperLocations属性,支持扫描式加载SQL映射文件。
    先将映射文件匹配从mybatisConfig.xml中移除,然后通过如下便捷的方式加载SQL映射文件:
<bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean"
          
 p:dataSource-ref="dataSource"  
         
  p:configLocation="classpath:myBatisConfig.xml"  
         
  p:mapperLocations="classpath:com/sample/domain/mybatis/*.xml"/>  

    这样,SqlSessionFactoryBean将扫描com/sample/domain/mybatis类路径并加载所有以xml为后缀的映射文件。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Spring Boot 集成MyBatis
存储过程时候返回的游标[CURSOR]
Myibatis和spring(mvc)的集成
mybatis中文版教程
最简单的SpringBoot整合MyBatis教程
MyBatis3整合Spring3_SpringMVC
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服