본문 바로가기
카테고리 없음

[IBATIS] 트랜젝션 처리

by 멍멍돌이야 2010. 9. 13.
반응형

ibatis는 알다시피 퍼시스던트계층을 담당하고있으므로

트랜젝션 처리를 자동과 수동으로 설정할수 있다.

 

--getSqlMapClientTemplate()

이녀석은 자동으로 트랜젝션을 처리해준다.

예를 들어

for(int i=0; i<paramList.size(); i++){

      getSqlMapClientTemplate().update("test.updateTest",paramList);

}

이런식으로 처리한다면 update한번마다 자동으로 트랜젝션 처리가 되도록 되어있다.

물론 간편하고 쓰기도 좋지만 위와같이 여러건을 execute해야하는 경우

여러건을 전부 실행하고 이상이 없으면 commit해야 하는 경우가 대부분이다.

 

--getSqlMapClient()

그럴때 사용되는 녀석이 바로 요놈이다.

예를 들면

 

getSqlMapClient sql = getSqlMapClient();

sql.startTransaction();

sql.startBatch();

for(int i=0; i<paramList.size(); i++){

      sql.update("test.updateTest",paramList);

}

sql.executeBatch();

sql.commitTransaction();

 

위와같은 방법을 로컬트랜젝션(일괄처리)기법이다.

이처럼 처리하면 일괄 처리 할수 있음으로 여러건일경우 좋다.

속도또한 자동처리보다 빨라 번거럽게 보이지만 훨씬 효율적일 수 있다.

 

원본 : http://cafe.naver.com/bugreports.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=14

 

위사이트에서 얻은 정보임을 밝힌다.

728x90
반응형

댓글