2022. 01. 05일 일기

병아리의최후·2023년 1월 5일
0

일기

목록 보기
37/60

어제 꼭 해보겠다던 트랜잭션을 완성시켰다.

트랜잭션을 쓰는이유는 동시다발적으로 일을 처리하기 때문이라고 한다.

특히 계좌이체같은 기능을 구현할 때, 유저 1에서 돈은 빠져나갔는데 유저2로 가기전에 오류가 생겨서 돈이 사라지는 현상을 막기위해 많이 사용된다고 한다.

트랜잭션은 2번째 사진 79번째 줄 처럼 오류가 생기면 다 롤백을 시켜주기 때문에 안전하다.


먼저 트랜잭션을 사용하기 위해 시퀄라이즈를 가져오자.

그리고 트랜잭션을 써보자. 먼저 시퀄라이즈안에 있는 트랜잭션이라는 함수를 변수 t로 지정해주고 그 다음 실제작동하는 코드들은 try catch로 감싸주면 된다. 이후 트랜잭션 처리할 시퀄문법에 transaction = (할당한 변수) 를 넣어주면 끝

내가 이해하기론 트랜잭션 처리를 해준곳은 다 한번에 실행된다.

그 다음 이게 문제가 없으면 마지막에 커밋을 해주고

오류가 생기면 캐치구문으로 넘어가 롤백을 시켜준다. 그러면 다시 원상태로 돌아가는것.

(트랜잭션 문법을 할당한 moveMoney를 사용하는 모습)

나중에도 많이 쓸 것 같은데 알아가보자

0개의 댓글

관련 채용 정보