트랜잭션 관리

cy8erpsycho·2023년 9월 7일
0

스프링

목록 보기
26/29
post-thumbnail

트랜잭션 관리

  • 비즈니스 용어에서 '거래'의 의미

댓글과 게시물의 반정규화

반정규화는 데이터를 중복적으로 가진다. 한쪽에서 테이블명을 수정하면 나머지도 반드시 수정해야한다. 수정하지 않을때 이상현상이 발생한다.
정규화는 안정적인 대신 속도가느리지만 반정규화는 속도가 빠르다

트랜잭션 설정

pom.xml

sping-jdbc를 설치하면 spring-tx가 자동으로 추가된다.

root-context.xml

namespace 에서 mybatis와 tx 체크

hikariconfig, datasource, sqlsessionFactory

transactionMaanger 추가

위와 같이 추가된다.
<tx:annotation-driven/> 추가로 밑에 작성한다.

모든 설정이 완료되면 다음과 같이 Bean Graph에서 확인할 수 있다.

트랜잭션 설정 실습

sample1Mapper 2mpaper생성

비즈니스 계층과 트랜잭션 설정

@transactional추가 하면

두개의 데이터를 집어넣을때 첫번째 실행 결과는 insert 성공함

두번째 실행은 실패함. 이렇게 실패하게 되면 rollback처리가 일어난다.

바인딩 예외

param 선언이 들어가 있어야 매핑이 정상적으로 진행된다.

0개의 댓글