Spring/SpringDB

트랜잭션 - DB 예제 2 - 자동 커밋 / 수동 커밋

느리지만 꾸준하게 2022. 6. 15. 15:20

자동 커밋

  • 트랜잭션을 사용하려면 먼저 자동 커밋과 수동 커밋을 이해해야 한다.

 

  • 커밋으로 설정하면 쿼리 실행 직후에 자동으로 커밋을 호출 / 커밋이나 롤백을 직접 호출하지 않아도 되는 편리함이 있다.

 

  • 쿼리를 하나하나 실행할 때 마다 자동으로 커밋이 되어서 원하는 트랜잭션 기능을 제대로 사용할 수 없다.
set autocommit true; //자동 커밋 모드 설정
insert into member(member_id, money) values ('data1',10000); //자동 커밋
insert into member(member_id, money) values ('data2',10000); //자동 커밋
  • => commit, rollback을 직접 호출하면서 트랜잭션 기능을 제대로 수행하려면 자동 커밋을 끄고 수동 커밋을 사용해야 함

 

 

수동 커밋

  • 자동 커밋 모드가 기본으로 보통 설정된 경우가 많다.

 

  • 수동 커밋 모드로 설정하는 것을 트랜잭션을 시작한다고 표현

 

  • 수동 커밋 설정을 하면 이후에 꼭  commit, rollback을 호출해야 함.

 

  • 수동 커밋 모드나 자동 커밋 모드는 한번 설정하면 해당 세션에서 계속 유지
set autocommit false; //수동 커밋 모드 설정
insert into member(member_id, money) values ('data3',10000);
insert into member(member_id, money) values ('data4',10000);
commit; //수동 커밋

 

 

 

 

<출처 김영한: 스프링 DB 1편 - 데이터 접근 핵심 원리>

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard

 

스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의

백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의

www.inflearn.com

 

'Spring > SpringDB' 카테고리의 다른 글

트랜잭션 - DB 예제 - 계좌이체  (0) 2022.06.15
트랜잭션 - DB 예제 - 트랜잭션 실습  (0) 2022.06.15
트랜잭션 - 개념 이해  (0) 2022.06.15
DataSource 적용  (0) 2022.06.14
DataSource 예제2 - 커넥션 풀  (0) 2022.06.14