mybatis-spring整合总结01_Getting Start

Getting start

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

这里应当注意SqlSessionFactory 需要一个数据源。这个数据源可以是任何符合spring配置的数据连接
假设有一数据映射类如下:
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{userId}")
User getUser(@Param("userId") String userId);
}

那么在spring配置里相应要有:
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>

这里应当注意UserMapper是一个接口而不是一个具体实现类。在这个示例中使用了mybatis注解功能,但是mybatis的UserMapper.xml文件不能省略,即使xml映射文件里不添加任何dml语句。配置完成之后,你就可以像其他bean一样将mappers注射到business/service里。MapperFactoryBean用于生成或关闭一个SqlSession实例。当处理一个spring事务时,该实例会随着事务的完成而提交或回滚。
现在调用映射类方法只需一行代码:

public class FooServiceImpl implements FooService {
private UserMapper userMapper;
public void setUserMapper(UserMapper userMapper) {
this.userMapper = userMapper;
}
public User doSomeBusinessStuff(String userId) {
return this.userMapper.getUser(userId);
}
}

你可能感兴趣的:(mybatis)