'분류 전체보기'에 해당되는 글 82건

  1. 트랜잭션은 무엇일까요.?!

트랜잭션은 무엇일까요.?!

트랜잭션

 

데이터의 무결성을 위해 하나의 작업을 위한 쿼리는 트랜잭션으로 처리될 필요가 있음

트랜잭션 구현 방법으로는 오토 커밋 해제 또는 jta이용방식을 사용함,

 

 

마트에서 물건을 하나 팔면 고객에 대한 테이블이 있고

슈퍼에서 유지하고있는 물품리스트가 있다.

물건을 팔면 나의 db에서 빠저나가고 고객의 포인트 적립이 되어야 함,

이렇게 물건이 팔려나가는 것과 고객의 포인트 적립을 묶어서 같이 바뀌게,

 

일련의 작업을 묶어버림, 다같이 되던가 다같이 안되던가

하나가 실패하면 모두롤백함,

 

 

트랜잭션 시작 : 시작 이후 실행되는 쿼리를 하나의 작업으로 처리

 

트랜잭션 범위내에서 실행되는 쿼리 결과는 커밋 전까지는 db에 반영되지 않고 기다림

트랜잭션 커밋 : 트랜잭션 시작 이후에 에러가 발생하지 않게 되면

쿼리 결과를 그때서야 데이터베이스에 반영해줍니다.

 

 

만약 중간에 에러가 발생하게 되면 실행된 쿼리 결과를 DB에 반영하지않고 취소하는 것이

트랜잭션 롤백이라고 합니다.

 

 

conn.setAutoCommit(false);

쿼리를 실행

쿼리2를실행

트랜잭션커밋을 하면

conn.commit();

 

catch{

rollback(); 하면 실행되기전으로 되돌아감