mybatis+spring 使用不同方法备忘

本文介绍MyBatis与Spring集成的三种方法:SqlSessionTemplate、MapperFactoryBean及MapperScannerConfigurer,帮助开发者理解如何根据不同场景选择合适的集成方案。

第一种: SqlSessionTemplate

1. 创建mybatis-config.xml   加载所有的xxxx.xml mapper文件


2. spring-config-dao.xml    声明sqlSessioFactory,  将mapper文件和数据源关联

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>


3.  spring-config-dao.xml   声明 sqlSessionTemplate 

<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
    	<constructor-arg index="0" ref="sqlSessionFactory"/>
    </bean>
 constructor-arg   index="0" 

 index是索引,指定注入的属性,从0开始  是用来标识该参数在构造函数里的位置的 


4. xxxDaoImpl.java 此处为具体的实现类

private SqlSessionTemplate sqlSessionTemplate;
sqlSessionTemplate.selectOne("xxx", xxx);



第二种:MapperFactoryBean

如:

<bean id="blogMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">  
      <property name="mapperInterface"  
          value="com.tiantian.mybatis.mapper.BlogMapper" />  
      <property name="sqlSessionFactory" ref="sqlSessionFactory" />  
   </bean>  


BlogMapper.java:此处为接口

package com.tiantian.mybatis.mapper;  
public interface BlogMapper {  
   public Blog selectBlog(int id);  
   publicvoid insertBlog(Blog blog);  
   
  
}  

上面的方法进行整合的时候,我们有一个Mapper就需要定义一个对应的MapperFactoryBean,当我们的Mapper比较少的时候,这样做还可以,但是当Mapper相当多时我们再这样定义一个个Mapper对应的MapperFactoryBean就不合适了。

第三:MapperScannerConfigurer

Mybatis-Spring提供了一个叫做MapperScannerConfigurer的类,通过这个类Mybatis-Spring会自动为我们注册Mapper对应的MapperFactoryBean对象。
      如果我们需要使用MapperScannerConfigurer来帮我们自动扫描和注册Mapper接口的话我们需要在Spring的applicationContext配置文件中定义一个MapperScannerConfigurer对应的bean。对于MapperScannerConfigurer而言有一个属性是我们必须指定的,那就是basePackage。basePackage是用来指定Mapper接口文件所在的基包的,在这个基包或其所有子包下面的Mapper接口都将被搜索到。多个基包之间可以使用逗号或者分号进行分隔。最简单的MapperScannerConfigurer定义就是只指定一个basePackage属性,如:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  <property name="basePackage" value="com.tiantian.mybatis.mapper" />  
bean>  
此部门代码参考网上例子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值