[Mybatis] 수동 커밋 옵션 설정 방법

MyBatis에서 수동 커밋 옵션을 설정하려면 SqlSession 객체를 생성한 후, 커밋 및 롤백을 수동으로 처리해야 합니다. 아래에 간단한 예제를 제공하겠습니다.

SqlSessionFactory sqlSessionFactory = ...; // SqlSessionFactory 생성

// 수동 커밋 옵션으로 SqlSession 생성
SqlSession sqlSession = sqlSessionFactory.openSession(false); // false로 설정

try {
    // 쿼리 실행 및 작업 수행

    // 커밋 수행
    sqlSession.commit();
} catch (Exception e) {
    // 에러 발생 시 롤백 수행
    sqlSession.rollback();
} finally {
    sqlSession.close(); // SqlSession 닫기
}` 

위의 예제에서 openSession(false) 메서드를 호출하여 수동 커밋 옵션을 설정합니다. 이렇게 하면 commit()을 호출하지 않는 이상 변경 사항이 커밋되지 않습니다.

코드 블록 내에서 commit()을 호출하여 변경 사항을 커밋하고, 에러가 발생할 경우 rollback()을 호출하여 롤백합니다. 마지막으로 close() 메서드를 사용하여 SqlSession을 닫아야 합니다.

수동 커밋을 사용하면 트랜잭션을 더욱 세밀하게 관리할 수 있으며, 변경 사항을 커밋하기 전에 여러 작업을 수행할 수 있습니다.