티스토리 뷰

 

 

댓글 등록하면 댓글 수 업데이트

 

ReplyMapper.xml

 

쿼리의 매개변수가  2개(amount, boardId) 

여러개면 vo로 보냈는데...

 

BoardMapper.java

 

 

int updateReplyCount(int boardId,int amount); 

이 코드로는 안보내짐 

 

@Param을 이용해서 매핑하기

 

언제 쓰냐면 parameter 두개이상,, vo로 보내지 않을 거면 이렇게 보내야함!

@Param : 자바 객체의 속성을 mapper 에 매핑 해줘서! 

ReplyService.java

 

createReply() 수정하기

 

댓글 등록하면 댓글 수 업데이트 하는 기능

 

 

 

ReplyService.java

 

int boardId 추가

 

 

@Transactional 추가하고 수정

 

ReplyRESTController.java

 

/{boardId} 추가하기

 

@PathVariable("boardId") int boardId) 추가하고

deleteReply(replyId,boardId) 추가하기

 

detail.jsp

 

 

여기서 
url에 boardId를 보낸다

 

detail.jsp

 

<input type="hidden" id="boardId" value="1"> 이걸 가져오는건데 1이 동적으로 변경되어야함
만약 boardId가 1번이 없음 안되는거임;

 

RootConfig.java

 

추가하고 

 

ReplyServiceImple

 

@Transactional(value = "transactionManager") -> 연산이 두 번 일어나는 경우는 추가 
그래서 insert, delete에 추가

Transaction 까지는 추가해줘야함!

 

Transaction 

db의 연산 집합(insert,update,delete) 을 논리적으로 단일 작업 단위로 묶어 처리하는 것

다중 사용자 및 동적 환경에서 데이터 무결성과 일관성을 보장하는DB 시스템에서 트랜잭션이 필수 => 데이터가 안맞는 상태에서는
*무결성 : 알아서 해줌

주요 개념
- 커밋 : 커밋을 안하면 임시저장 상태, 커밋을 적용해야 영구적인 저장상태로 만들어줘서
- 롤백 : 커밋전에 상황을 지켜봄. 이상하면 back 시키는 것

트랜잭션이 필요한 예시 :
계좌 이체

A의 계좌에서 100달러가 출금됩니다.
이 출금이 성공하면, B의 계좌로 100달러가 입금됩니다.
이 두 단계가 모두 성공해야 이체가 완료됩니다.
만약 한 단계에서 문제가 발생한다면,
예를 들어 A의 계좌에서 출금이 실패하면 B의 계좌로 돈이 이체되지 않아야 합니다.
이러한 경우를 방지하기 위해 트랜잭션이 사용됩니다.
트랜잭션은 모든 단계가 성공할 때만 실행되거나, 그렇지 않으면 이전 상태로 롤백될 수 있도록 보장합니다

 


 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함