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. ์ด์ 1 2 3 4 5 ยทยทยท 14 ๋ค์