SqlSessionDaoSupport

SqlSessionDaoSupport는 SqlSession을 제공하는 추상클래스이다. getSqlSession()메서드를 호출해서 다음처럼 SQL을 처리하는 마이바티스 메서드를 호출하기 위해 사용할 SqlSessionTemplate을 얻을 수 있다.


public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {

  public User getUser(String userId) {

    return (User) getSqlSession().selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);

  }

}

대개 MapperFactoryBean은 추가적인 코드가 필요없기 때문에 이 클래스를 선호한다. 하지만 DAO에서 마이바티스가 필요하지 않고 구현된 클래스가 필요하지 않을때만 유용하다.


SqlSessionDaoSupport는 sqlSessionFactory 와 sqlSessionTemplate 프로퍼티를 셋팅할 필요가 있다. 두개의 프로퍼티를 모두 셋팅하면 sqlSessionFactory는 무시된다.


SqlSessionDaoSupport의 하위클래스인 UserDaoImpl가 있다고 하면 스프링에서는 다음처럼 설정될 수 있다.


<bean id="userMapper" class="org.mybatis.spring.sample.mapper.UserDaoImpl">

  <property name="sqlSessionFactory" ref="sqlSessionFactory" />

</bean>

블로그 이미지

왕왕왕왕

,