기본 데이터
데이터 초기화 SQL
//데이터 초기화
set autocommit true;
delete from member;
insert into member(member_id, money) values ('oldId',10000);
자동 커밋 모드를 사용했기 때문에 별도로 커밋을 호출하지 않아도 된다.
신규 데이터 추가 - 커밋 전
세션1에서 신규 데이터를 추가해보자. 아직 커밋은 하지 않을 것이다.
세션1 신규 데이터 추가
세션1 신규 데이터 추가 SQL
//트랜잭션 시작
set autocommit false; //수동 커밋 모드
insert into member(member_id, money) values ('newId1',10000);
insert into member(member_id, money) values ('newId2',10000);
커밋 - commit
세션1에서 신규 데이터를 입력했는데, 아직 커밋은 하지 않았다. 이제 커밋해서 데이터베이스에 결과를 반영해보자
세션1 신규 데이터 추가 후 commit
세션1에서 커밋을 호출해보자.
롤백 - rollback
이번에는 롤백에 대해서 알아보자.
기본 데이터
예제를 처음으로 돌리기 위해 데이터를 초기화하자.
//데이터 초기화
set autocommit true;
delete from member;
insert into member(member_id, money) values ('oldId',10000);
세션1 신규 데이터 추가 후
//트랜잭션 시작
set autocommit false; //수동 커밋 모드
insert into member(member_id, money) values ('newId1',10000);
insert into member(member_id, money) values ('newId2',10000);
세션1 신규 데이터 추가 후 rollback
세션1에서 롤백을 호출해보자.
rollback; //롤백으로 데이터베이스에 변경 사항을 반영하지 않는다.
출처 : 김영환 스프링 DB 강의
'JDBC' 카테고리의 다른 글
DB 락 - 개념 이해 (0) | 2022.08.04 |
---|---|
트랜잭션 - DB 예제4 - 계좌이체 (0) | 2022.08.04 |
트랜잭션 - DB 예제2 - 자동 커밋, 수동 커밋 (0) | 2022.08.04 |
트랜잭션 - DB 예제1 - 개념 이해 (0) | 2022.08.04 |
데이터베이스 연결 구조와 DB 세션 (0) | 2022.08.04 |