- 지금까지 진행한 DAO클래스 구현 방법1은 SqlSessionDaoSupport 클래스를 상속해서 구현하는 것이다.
- 이번에는 DAO클래스 구현 방법2를 실행해본다.
- 두번째 방법은 SqlSessionTemplate를 JDBCTemplate와 비슷한 방법으로 만들어 사용하는것인데,
SqlSessionTemplate클래스를 bean엘리먼트에 등록해서 사용하는 방법이다.
- applicationContext.xml 설정파일에서 등록하자
1. applicationContext.xml 설정하기
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:test-map-Config.xml" />
</bean>
<bean class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sessionFactory" />
</bean>
2. DAO
- Mybatis Template설정을 한 SqlSessionTemplate 클래스를 SqlSession형의 mybatis 변수에 넣어준다.
- mybatis를 통해 Template에 들어있는 메서드들을 사용할 수 있다.
package com.psd.biz.member.dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.psd.biz.member.common.PsdVo;
@Repository
public class MybatisDAOImpl2 implements PsdDAO{
@Autowired
SqlSession mybatis;
@Override
public void insert(PsdVo vo) {
mybatis.insert("psdDAO.insertBoard", vo);
}
@Override
public List<PsdVo> list() {
return mybatis.selectList("psdDAO.selectAll");
}
@Override
public void delete(int idx) {
int k = mybatis.delete("psdDAO.deleteBoard", idx);
System.out.println("삭제 : "+ k + "건");
}
@Override
public String delete_name(int idx) {
return mybatis.selectOne("psdDAO.delete_select", idx);
}
@Override
public int cnt() {
return mybatis.selectOne("psdDAO.select_cnt");
}
}
3. 결과 확인하기
- DAO 클래스 구현1 과 동일한 결과화면과 기능이 정상작동되는지 확인한다.