※ 실제작업순서와 포스팅순서가 다를 수 있습니다(프로젝트 진행율과 포스팅날이 다름)
0. 작동사진 및 페이지사진
1. 상세보기 작동코드
- 게시판화면에서 게시물 클릭시 게시글넘버(bno)를 넘긴다
- bno를 조건으로 게시글 데이터들을 불러온다.
2. 수정 상세코드
@Transactional 어노테이션을 사용함으로써 modifyWithAttach() 메서드의 모든 데이터베이스 작업은 하나의 트랜잭션으로 묶이며, 예외 발생 시 롤백될 수 있다.
- 게시물의 사진정보(tbl_attach)를 모두 삭제한다.
- mapper.update를 실행시켜 제목,내용 등의 수정된 내용을 update하고 정상적으로 완료시 1(true)를 return한다
- 게시물에 남아있는 사진들을 모두 다시 저장한다(insert)
- 즉 게시물의 내용들은 즉각적으로 수정되지만, 이미지의 경우는 모두 삭제하고 다시 등록하는 방법으로 수정을 진행한다.
- service(수정)이 모두 처리되면 수정이 완료됐다는 FlashAttribute를 등록한다.
- 페이지 정보는 게시글 어디를 이동하나 가지고 다녀야 하기에 criteria를 파라미터로 받고있고, getListLink를 함께 redirect해준다.
3. 게시글 삭제 상세코드
- 수정과 동일하게 게시글넘버(bno)를 받아 해당하는 게시글데이터를 삭제한다.
- 삭제가 완료되면 FlashAttribute에 삭제내용을 담아준다.
- 동일하게 criteria.getListLink()와 함께 redirect해준다.
ps. 나중엔 어떨지 모르겠지만 게시글등록 수정 삭제 같은 1차원적인 service들은 코드짜기 편한 것 같다.
'프로젝트' 카테고리의 다른 글
[Spring Project] 도서관만들기 #6 댓글 작성,수정,삭제 (0) | 2023.07.04 |
---|---|
[Spring Project] 도서관만들기 #5-2 게시판 화면구성 (0) | 2023.07.04 |
[Spring Project] 도서관만들기 #5-1 게시판 글쓰기 (0) | 2023.07.04 |
[Spring Project] 도서관만들기 #4 정보수정/탈퇴 (0) | 2023.06.29 |
[Spring Project] 도서관만들기 #3 로그인,로그아웃 (0) | 2023.06.29 |