์คํ๋ง์ผ๋ก CRUD ๊ฒ์ํ ๋ง๋ค๊ธฐ - ๋๊ธ ์์ฑ, ๋ชฉ๋ก ๊ธฐ๋ฅ
์คํ๋ง ๊ณต๋ถํ๋ฉด์ ์ ๋ฆฌํ ๋ด์ฉ ์ ๋๋ค !
์ค๋ฅ๊ฐ ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์ :)
1. ๋๊ธ ์์ฑ
2. ๋๊ธ ๋ชฉ๋ก
https://jcowwk.tistory.com/132
๋ณธ ํฌ์คํ ์ ์์ ํฌ์คํ ๊ณผ ์ด์ด์ง๋๋ค.
1. ๋๊ธ ์์ฑ
- detail.html
๊ธฐ์กด์ ๋ง๋ค์ด ๋์ detail.html์ ์ค๋ฅธ์ชฝ์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ์ผ์ชฝ์ ํ๋ฉด์ ๋ง๋ค ์ ์์ต๋๋ค.
๋จผ์ , ๋๊ธ ์์ฑ ๊ธฐ๋ฅ๋ถํฐ ๋ง๋ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ dto, entity๋ ๋ง๋ค์๋ค๋ ๊ฐ์ ํ์ CommentController ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
- CommentController
์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์์ ์ ์ฅํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํด์ค๋๋ค.
inputํ๊ทธ๋ก ๋ฃ์ board_id์ memberId๋ th:value=""๊ฐ์ด @ModelAttribbute CommentDTO commentDTO๋ฅผ ํตํด ์๋์ผ๋ก DTO์ ๋งคํ์ด๋ฉ๋๋ค. ํ์ง๋ง @RequestParam("commentContent")๋ฅผ ํด์ค ์ด์ ๋ commentContent๋ value๊ฐ์ ์๋์ผ๋ก ๋งคํํด์ฃผ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- CommentService
DTO๋ฅผ Entity๋ก ๋ฐ๊พธ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ์ฝ๋๊น์ง ์์ฑํด์ฃผ๋ฉด ๋๊ธ ์์ฑ ๊ธฐ๋ฅ์ ์์ฑ์ ๋๋ค.
2. ๋๊ธ ๋ชฉ๋ก
- BoardController
์์์ ๊ฒ์๋ฌผ ์์ธ ํ์ด์ง์ ๋ค์ด๊ฐ์ ๋, ๋๊ธ์ ์์ฑํ๊ณ ๊ฒ์๋ฌผ์ ๋ฌ๋ฆฐ ๋๊ธ๋ ํ์ธํ ์ ์๋๋ก html ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋๊ธ ๋ชฉ๋ก์ BoardController์์ commentService๋ฅผ ๋ถ๋ฌ์์ ์์ฑํด์ผํฉ๋๋ค.
comment๋ ์ฌ๋ฌ๊ฐ ๋ฌ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ List๋ก ๋ฐ์์ต๋๋ค.
- CommentService
๊ฒ์๋ฌผ ๋ฒํธ๋ก ํด๋น ๊ฒ์๋ฌผ์ ๋ฌ๋ฆฐ ๋๊ธ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ ์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค.
- CommentRepository
findByBoard_id๋ฅผ ํ ๋ CommentEntity์์ "board"๋ผ๋ ์์ฑ์ด ์์ด์ ํ ์ด๋ธ์ ๋งคํํ ์ ์์์ต๋๋ค.
์ด๋ฆ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฌ์๋๋ฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ @Query("") ์ด๋ ธํ ์ด์ ์ ํตํด ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
์ฌ๊ธฐ๊น์ง ์ฝ๋๋ฅผ ์ ์์ฑํ์์ผ๋ฉด ๋๊ธ ๋ชฉ๋ก ๊ธฐ๋ฅ๋ ์์ฑ์ ๋๋ค.
๋ค์์ ํ์ด์ง ์ฒ๋ฆฌ, ์์ฑ ๋ ์ง, ๊ทธ์ธ ์ค๋ฅ ์์ ์
ํด๋ณด๊ฒ ์ต๋๋ค !