mybatis-spring整合总结01_Getting Start
Getting startMybatis整合Spring必须要做的两件事:在spring application context里定义一个SqlSessionFactory 和至少一个映射类.例如:
这里应当注意SqlSessionFactory 需要一个数据源。这个数据源可以是任何符合spring配置的数据连接
假设有一数据映射类如下:
Java代码
[*]public interface UserMapper {
[*]@Select("SELECT * FROM users WHERE id = #{userId}")
[*]User getUser(@Param("userId") String userId);
[*]}
那么在spring配置里相应要有:
Java代码
[*]<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事务时,该实例会随着事务的完成而提交或回滚。
现在调用映射类方法只需一行代码:
Java代码
[*]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);
[*]}
[*]}
页:
[1]