자동 커밋
- 트랜잭션을 사용하려면 먼저 자동 커밋과 수동 커밋을 이해해야 한다.
- 커밋으로 설정하면 쿼리 실행 직후에 자동으로 커밋을 호출 / 커밋이나 롤백을 직접 호출하지 않아도 되는 편리함이 있다.
- 쿼리를 하나하나 실행할 때 마다 자동으로 커밋이 되어서 원하는 트랜잭션 기능을 제대로 사용할 수 없다.
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 |