1.스프링에서 트랜잭션을 쓰기위한 XML 설정
2.트랜잭션 처리의 예시
회원이 게시판에 글을쓰면 회원에게 포인트 1점을 부여하겠다)
업무가 두가지로 나뉘어짐
(글을쓰는 업무 , 회원에게 포인트를 부여하는 업무 - 두개의 업무를 하나의 논리적인 단위로묶음 (트랜잭션 처리) )
-> 시작
1. 회원이 글을 쓰고 글작성 완료 버튼을 누른다.(insert)
2. 회원에게 포인트 부여(update member set point = point + 1 where id='hong')
-> 끝
( 글을쓰는 업무와 회원에게 포인트를 부여하는 업무 둘다 성공해야지 정상적으로 DB에 Commit됨 )
( 글쓰기 작성은 성공했는데 회원포인트 부여하는 업무에서 에러발생 - 두개의 업무중 둘중에 하나라도 안된다면 DB에 실반영되지 않고 Rollback 작업을 수행함 )
3.글쓰기 처리요청을 받는 컨트롤러
4.실제 글쓰기 작업이 수행되는 서비스단
noticedao.updateOfMemberPoint("hong") 메서드를 호출하게 되면 NoticeDao 인터페이스안에 있는 해당 메서드를 호출하는데 그함수와 매핑된 SqlMapper.xml 안에있는 SQL구문을 실행시킴
NoticeDao 인터페이스 안에있는 메서드이름과 SqlMapper(NoticeDao.xml)에있는 id값의 이름이 똑같아야지 매핑이됨
'프레임워크' 카테고리의 다른 글
스프링이란 무엇인가? (0) | 2020.11.26 |
---|---|
useGeneratedKeys,keyProperty 사용법 (0) | 2020.11.26 |
이클립스 스프링부트 초기 개발환경 구성 (0) | 2020.06.27 |
select 결과를 DTO 클래스에 매핑하기 (0) | 2020.06.14 |
MyBatis란 무엇인가? (0) | 2020.06.14 |