๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป develop

[spring] ์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ๋Œ“๊ธ€ ์ž‘์„ฑ, ๋ชฉ๋ก ๊ธฐ๋Šฅ

jcowwk 2024. 4. 15. 15:35

์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ๋Œ“๊ธ€ ์ž‘์„ฑ, ๋ชฉ๋ก ๊ธฐ๋Šฅ


์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค !

์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” :)

 

1. ๋Œ“๊ธ€ ์ž‘์„ฑ

2. ๋Œ“๊ธ€ ๋ชฉ๋ก

 

https://jcowwk.tistory.com/132

 

[develop] ์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ

์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค ! ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” :) 1. ์กฐํšŒ (home.html, BoardController, detail.html, BoardService) 2. ์ˆ˜์ •

jcowwk.tistory.com

 

๋ณธ ํฌ์ŠคํŒ…์€ ์œ„์˜ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค.


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("") ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ์ง์ ‘ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ”๋“œ๋ฅผ ์ž˜ ์ž‘์„ฑํ•˜์˜€์œผ๋ฉด ๋Œ“๊ธ€ ๋ชฉ๋ก ๊ธฐ๋Šฅ๋„ ์™„์„ฑ์ž…๋‹ˆ๋‹ค.


๋‹ค์Œ์€ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ, ์ž‘์„ฑ ๋‚ ์งœ, ๊ทธ์™ธ ์˜ค๋ฅ˜ ์ˆ˜์ •์„

ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค !

 

https://jcowwk.tistory.com/135

 

[spring] ์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ, TIMESTAMP

์Šคํ”„๋ง์œผ๋กœ CRUD ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ, TIMESTAMP ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค ! ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” :) 1. ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ 2. TIMESTAMP https://jcowwk.tistory.com/133 [spring] ์Šคํ”„

jcowwk.tistory.com