๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study124

[Spring] ModelAndView ๊ฐ์ฒด ๐Ÿ™๐Ÿป ModelAndView ๊ฐ์ฒด : ํŽ˜์ด์ง€์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ์ €์žฅ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ View๋กœ ๊ฐ์ฒด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ Model์ด๋‚˜ ModelAndView๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก MVC ํŒจํ„ด - Model, View, Controller์˜ ์•ฝ์ž - ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๊ทธ ๊ตฌ์„ฑ์˜ ์š”์†Œ๋ฅผ ์„ธ๊ฐ€์ง€ ์—ญํ• ๋กœ ๊ตฌ๋ถ„ํ•œ ํŒจํ„ด - ์„œ๋กœ์—‘ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์Œ ๐Ÿ‘‰๐Ÿป Model ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •๋ณด, ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์ฒ˜์Œ์˜ ์ •์˜ํ•˜๋Š” ์ƒ์ˆ˜, ์ดˆ๊ธฐํ™” ๊ฐ’, ๋ณ€์ˆ˜ ๋“ฑ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ‘‰๐Ÿป View input ํ…์ŠคํŠธ, ์ฒดํฌ๋ฐ•์Šค ๋“ฑ๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฐ ๊ฐ์ฒด์˜ ์ž…๋ ฅ, ์ถœ๋ ฅ ๋“ฑ์„ ๋‹ด๋‹นํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ž…๋‹ˆ๋‹ค... 2022. 11. 18.
[JSP] ObjectMapper ๐Ÿ™๐Ÿป ObjectMapper : JSON ํ˜•์‹์„ ์‚ฌ์šฉํ•  ๋•Œ, ์‘๋‹ต๋“ค์„ ์ง๋ ฌํ™”ํ•˜๊ณ  ์š”์ฒญ๋“ค์„ ์—ญ์ง๋ ฌํ™”ํ•  ๋•Œ ์‚ฌ์šฉ ๐Ÿ’ก JSON [ ํ‚ค : ๊ฐ’ ] ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํฌ๋ฉง ๐Ÿ’ก ์ง๋ ฌํ™” ๊ฐ์ฒด(Object)๋ฅผ ๋ฌธ์ž์—ด(String)์œผ๋กœ ๋ณ€ํ™˜ - ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•˜์—ฌ ๐Ÿ’ก ์—ญ์ง๋ ฌํ™” ๋ฌธ์ž์—ด(String)์„ ๊ฐ์ฒด(Object)๋กœ ๋ณ€ํ™˜ - ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋๋‚œ ํ›„ ํšŒ๋ณต์„ ์œ„ํ•˜์—ฌ @Getter class Car { private String name; private String color; public Car(String name, String color) { this.name = name; this.color = color; } public Car( ) { this.na.. 2022. 11. 18.
[JSP] Mybatis ๐Ÿ™๐Ÿป MyBatis : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์ •ํ•œ SQL, ํ”„๋กœ์‹œ์ €, ๊ณ ๊ธ‰๋งคํ•‘์„ ์ง€์›ํ•˜๋Š” ์˜์†์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•˜๋Š” ์˜์†์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, JDBC๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์ƒ๋‹น ๋ถ€๋ถ„์˜ ์ฝ”๋“œ์™€ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ • ๋ฐ ๊ฒฐ๊ณผ ๋งคํ•‘์„ ๋Œ€์‹ ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋‹ˆ๋‹ค. โœ”๏ธ ์˜์†์„ฑ : Persistnece ์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. RDBMS ํ˜น์€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ ๋ณ„๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜์†์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. โœ”๏ธ ORM (Object Relationship Mapping) ์ด๋ž€ ๊ฐ์ฒด์™€ RDBMS๋ฅผ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ JPA, Hibernate, JDBC ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ…Œ์ด๋ธ”์„ ์‚ฌ.. 2022. 11. 18.
[JSP] JQuery ๐Ÿ™๐Ÿป JQuery ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด ์•„์ฃผ ๊ฐ„ํŽธํ•˜๊ฒŒ HTML ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ์„ ํƒ๋œ ์š”์†Œ์— ํŠน์ • ๋™์ž‘์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. $(์„ ํƒ์ž).๋™์ž‘ํ•จ์ˆ˜1( ).๋™์ž‘ํ•จ์ˆ˜2( ) โ‘  $ ๋‹ฌ๋Ÿฌ($) ๊ธฐํ˜ธ๋Š” jQuery๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, jQuery์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์‹๋ณ„์ž๋ฅผ ๋œปํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์‹๋ณ„์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” HTML ์š”์†Œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ‘ก ์„ ํƒ์ž ์›ํ•˜๋Š” HTML ์š”์†Œ, CSS ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๋ฉฐ ๊ทธ ์š”์†Œ๊ฐ€ ์„ ํƒ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. โ‘ข ๋™์ž‘ํ•จ์ˆ˜ ๋™์ž‘ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜์—ฌ ์„ ํƒ์ž๋กœ ์„ ํƒ๋œ ์š”์†Œ์— ์›ํ•˜๋Š” ๋™์ž‘์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฐ์†์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” '๋ฉ”์„œ๋“œ ์ฒด์ด๋‹'์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ“ JQuery๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  1) ํŽ˜์ด์ง€ ๋‚ด๋ถ€ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ ์‰ฌ์›€ jQuery๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด DOM ํŠธ๋ฆฌ.. 2022. 11. 18.
[JSP] JSTL ๐Ÿ™๐Ÿป JSTL : JSP Standard Tag Library : ์ž๋ฐ”์ฝ”๋“œ๋ฅผ HTML ํƒœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ JSP์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ธ ๋ฐ˜๋ณต๋ถ„, ์กฐ๊ฑด๋ฌธ, ๋ฐ์ดํ„ฐํ‘œํ˜„ ๋“ฑ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ ์ปค์Šคํ…€ ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ“ JSTL ํƒœ๊ทธ ์ข…๋ฅ˜ โ‘  Core (prefix : c) - ๋ณ€์ˆ˜ ์ง€์›, ์ œ์–ด๋ฌธ, ํŽ˜์ด์ง€ ๊ด€๋ จ ์ฒ˜๋ฆฌ โ‘ก Formating (prefix : fmt) - ํฌ๋ฉง ์ฒ˜๋ฆฌ, ๊ตญ์ œํ™” ์ง€์› โ‘ข Database (prefix : sql) - DB๊ด€๋ จ CRUD ์ฒ˜๋ฆฌ โ‘ฃ XML (prefix : x) - XML ๊ด€๋ จ ์ฒ˜๋ฆฌ โ‘ค Function (prefix : fn) - Collection, String ์ฒ˜๋ฆฌ ๐Ÿ‘‰๐Ÿป ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํƒœ๊ทธํƒ€์ž…์„ ์ง€์ •ํ•˜๋ฉด ํ•ด๋‹น JSTL์˜ Core.. 2022. 11. 18.
[JSP] Ajax ์•ˆ๋…•ํ•˜์„ธ์š” ! JSP ๊ด€๋ จ ํ•™์Šต์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์–ด ๊ณต๋ถ€ ๊ฒธ ๊ธฐ๋ก์„ ์œ„ํ•ด ๋‹น๋ถ„๊ฐ„ ๊ด€๋ จ ํฌ์ŠคํŒ… ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค :) ๋จผ์ € ๋น„๋™๊ธฐ ํ†ต์‹ ์ธ AJAX์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค ! ๐Ÿ™๐Ÿป AJAX : Asychronous Javascript and XML : ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ XML ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋น„๋™๊ธฐ ํ†ต์‹  ์‰ฝ๊ฒŒ ๋งํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ์‹์œผ๋กœ XML์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” XML๋ณด๋‹ค JSON์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ์š” ๐Ÿ’ก ์—ฌ๊ธฐ์„œ ๋น„๋™๊ธฐ์‹์ด๋ž€ ? ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ผ์ด ๋™์‹œ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋ฉฐ ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ๋ฐฉ์‹์€ ์›นํŽ˜์ด์ง€๋ฅผ Reload ํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์–ด์„œ AJAX๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋”๋ผ๋„ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ .. 2022. 11. 18.
[DB] MySQL Explain ์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ํ™๋ฏผ์ • ์ž…๋‹ˆ๋‹ค ๐Ÿซง ์˜ค๋Š˜์€ MySQL๊ณผ ๊ด€๋ จ๋˜์–ด ํฌ์ŠคํŒ… ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ ์„ค๊ณ„๋Š” ํ•œ๋ฒˆ ์ง„ํ–‰๋˜๋ฉด ๊ทธ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ์— ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝ์ด ํž˜๋“ค์ง€๋งŒ ์ฟผ๋ฆฌ๋Š” ํ•ด๋‹น ์ฟผ๋ฆฌ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‹คํ–‰๊ณ„ํš์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์‚ดํ”ผ๋ฉด ์ข‹์€๋ฐ์š”, ์ด๋ฅผ ๋„์™€์ฃผ๋Š” [ EXPLAIN] ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. โœ… EXPLAIN ์ด๋ž€? ์–ด๋– ํ•œ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์˜ ์ฟผ๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™” ํ•ด์•ผํ•  ์ง€์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. DB๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์„ ์‚ฌ๋žŒ์ด ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ DB ๊ฒฐ๊ณผ ์…‹์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด, ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ๊ณ„ํš์„ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค... 2022. 11. 3.
[Spring] Annotation ์•ˆ๋…•ํ•˜์„ธ์š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ํ™๋ฏผ์ •์ž…๋‹ˆ๋‹น ๐Ÿ™Œ๐Ÿป๐Ÿซง ์˜ค๋Š˜์€ ์Šคํ”„๋ง์˜ ๊ธฐ๋ณธ์ธ ์–ด๋…ธํ…Œ์ด์…˜๊ณผ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค ! ๐Ÿ“ž ์–ด๋…ธํ…Œ์ด์…˜ (@, Annotation) ์€ Java 5๋ถ€ํ„ฐ ๋“ฑ์žฅํ•œ ๊ฐœ๋…์œผ๋กœ ์‚ฌ์ „์  ์˜๋ฏธ๋กœ๋Š” ์ฃผ์„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ฝ”๋“œ ์‚ฌ์ด์—์„œ ์ฃผ์„์ฒ˜๋Ÿผ ์“ฐ์ด๋ฉฐ ํŠน๋ณ„ํ•œ ์˜๋ฏธ์™€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋“ฑ์„ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๊ณ  ์ฝ”๋“œ๋ฅผ ์ข€ ๋” ๊น”๋”ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋…ธํ…Œ์ด์…˜์€ ์†Œ์Šค์ฝ”๋“œ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ? ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์ง„์— ์žˆ๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Œ โœ… ์–ด๋…ธํ…Œ์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. โ‘  ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์ฝ”๋“œ ๋ฌธ๋ฒ• ์—๋Ÿฌ๋ฅผ ์ฒดํฌํ•˜๋„๋ก ์ •๋ณด ์ œ๊ณต โ‘ก ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ.. 2022. 10. 24.
[Spring] JDBC์™€ JPA ์•ˆ๋…•ํ•˜์„ธ์š” ! ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ํ™๋ฏผ์ •์ž…๋‹ˆ๋‹ค :) ๐Ÿซง ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ˆ  ๋ฐ ๋™์ž‘์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ์ด๋“ค์˜ ์ฐจ์ด์ ์ด ๊ถ๊ธˆํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ์˜ค๋Š˜์€ JDBC์™€ JPA์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์šฐ์„ , ์ด ๋‘˜์˜ ์ฐจ์ด์ ์„ ์•Œ๊ธฐ์œ„ํ•ด ์˜์†์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค ! ๐Ÿ’ก ์˜์†์„ฑ(Persistence) ? - ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ - Persistence Layer๋Š” ํ”„๋กœ๊ทธ๋žจ ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ฐ์ดํ„ฐ์— ์˜์†์„ฑ์„ ๋ถ€์—ฌํ•ด์ฃผ๋Š” ๊ณ„์ธต์„ ๋งํ•˜๋ฉฐ, Persistence framework๋ฅผ ์ฃผ๋กœ ์ด์šฉํ•จ - Persistence Framework๋Š” JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ณต์žกํ•จ์ด๋‚˜ ๋ฒˆ๊ฑฐ๋กœ์›€ ์—†์ด ๊ฐ„๋‹จํ•œ ์ž‘์—…๋งŒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™๋˜๋Š”.. 2022. 10. 23.