같은 명령을 받으면 둘 중 하나만 돌아갈 가능성이 존재하는 테스트 테이블을 만들어 보겠습니다.
test 테이블을 2개를 생성합니다.
테이블들은 각각 50글자와 5글자를 저장할 수 있는 컬럼을 가집니다.
(test1 50글자, test2 5글자만 받을수 있음)
Sammple1Mapper 인터페이스와 Sample2Mapper 인터페이스는 mapper xml은 따로작성하지 않고, 어노테이션으로 구문을 작성합니다.
Sammple1Mapper
Sample2Mapper
방금 생성한 두 테이블에 같은 길이의 문자열을 집어넣는 서비스를 생성하기 위해 SampleTxService인터페이스, SampleTxServiceImpl 구현 클래스를 만들어 줍니다.
SampleTxService
SampleTxServiceImpl
src/test/java 내부의 com.ict.service 패키지 내부에다 SampleTxServiceTests 클래스를 만들어서 테스트를 해봅니다.
26글자를 테이블 두개에 넣어주는 로직 입니다.
abcd ~를 addDate에 넣어주겠다
addDate를 집어 넣을때 mapper1 mapper2를 호출
실행하면
빨간불이 들어오고
둘다 안들어온걸 확인할 수있다.
@@Transactional을 빼고 돌리면
col1에는 들어왔지만
col2에는 안들어온걸 확인할 수 있다.
@@Transactional이 있는 상태로 abcd 5글자 이내로 실행해보겠습니다.
col1 col2 둘다 들어간걸 확인할 수 있다.