mybatis-spring整合总结01_Getting Start

Getting start

Mybatis整合Spring必须要做的两件事:在spring application context里定义一个SqlSessionFactory 和至少一个映射类.例如:

这里应当注意SqlSessionFactory 需要一个数据源。这个数据源可以是任何符合spring配置的数据连接
假设有一数据映射类如下:
Java代码 复制代码  收藏代码
  1. public interface UserMapper {   
  2. @Select("SELECT * FROM users WHERE id = #{userId}")   
  3. User getUser(@Param("userId") String userId);   
  4. }  
那么在spring配置里相应要有:
Java代码 复制代码  收藏代码
  1. <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">   
  2. <property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />   
  3. <property name="sqlSessionFactory" ref="sqlSessionFactory" />   
  4. </bean>  
这里应当注意UserMapper是一个接口而不是一个具体实现类。在这个示例中使用了mybatis注解功能,但是mybatis的UserMapper.xml文件不能省略,即使xml映射文件里不添加任何dml语句。配置完成之后,你就可以像其他bean一样将mappers注射到business/service里。MapperFactoryBean用于生成或关闭一个SqlSession实例。当处理一个spring事务时,该实例会随着事务的完成而提交或回滚。
现在调用映射类方法只需一行代码:

Java代码 复制代码  收藏代码
  1. public class FooServiceImpl implements FooService {   
  2. private UserMapper userMapper;   
  3. public void setUserMapper(UserMapper userMapper) {   
  4. this.userMapper = userMapper;   
  5. }   
  6. public User doSomeBusinessStuff(String userId) {   
  7. return this.userMapper.getUser(userId);   
  8. }   
  9. }  
 

你可能感兴趣的:(mybatis)