JDBC, SQLMAPPER, ORM ์ด 3๊ฐ์ง์ ๊ณตํต์ ์ด ๋ญ๊น?
=> Persistance (์์์ฑ)
๊ทธ๋ ๋ค๋ฉด Persistance (์์์ฑ) ์ด๋ ๋ญ๊น?
=> ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ํ๋ก๊ทธ๋จ์ ์คํ์ด ์ข ๋ฃ๋๋๋ผ๋ ์ฌ๋ผ์ง์ง ์๋ ๋ฐ์ดํฐ์ ํน์ฑ ์ ๋งํ๋ค.
+๊ทธ๋ฌ๋๊น ์ฐ๋ฆฌ๋ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ํ๋ก์ธ์ค ๊ณผ์ ์์ ๋ง๋ค์ด๋ธ๋ค.
๊ทธ ๋ฐ์ดํฐ๋ RAM์ ์์ผ๋ฉฐ, RAM์ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ ์๋๋ฐ ์ด ๋ฐ์ดํฐ๋ฅผ ๋ก์ง์ ์ผ๋ก ๋ง๋ค์ด
์๋ค๋ค์ ์ ์ฅํ๊ณ ์ถ๋ค๋๊ฒ์ด๋ค.
๊ทธ๋์ ์๊ตฌํ ์ ์ฅ๋๋ ๊ทธ ์ด๋ค๊ฒ์ ๋๊ณ '์์์ฑ' ์ด๋ค ๋ผ๊ณ ํ๋ค.
์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ์๋ '๋ ์ด์ด๋ ์ํคํ ์ฒ' ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค.
๋๋ฉ์ธ ๋ชจ๋ธ์์ ์ฌ๋ฌ๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์ณ DB์ ๋ฃ์ด์ผ ๋๋๋ฐ ๊ทธ ์ฌ์ด์ ์ด๋ ํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ๋ค์ด๊ฐ ์ ์๋ค.
๊ทธ๊ฒ์ด ๋ฐ๋ก ์์์ฑ(Persistence)์ด๋ค.
์๋ ์ฌ์ง์ ์ผ๋จ ๊ธฐ์ตํด๋์.
์์ฃผ ์งง๊ฒ ์ญ์ฌ์ ๋ํด ์ค๋ช ..
1990๋ ๋ ์ค๋ฐ
์ธํฐ๋ท ๋ณด๊ธ, DB์ฐ์ ์ฑ์ฅ
์จ๋ผ์ธ ๋น์ฆ๋์ค์ ํฌ์ ์ฆ๊ฐ,
DB Connector์ ๋ํ ๋์ฆ
=> ๊ทธ๋์ JDBC๊ฐ ๋์ค๊ฒ ๋จ.
์๋ ๊ตฌ์กฐ๋๋ฅผ ๋ณด๋ฉด JDBC API ๊ฐ ์๊ณ , ๊ทธ ๋ฐ์ ๋๋ผ์ด๋ฒ ๋งค๋์ ๊ฐ ๊ทธ๊ฒ์ ๊ตฌํํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ DB์ ํ๊ตฐ๋ค์ ๋ฐ๋ผ์ ๋๋ผ์ด๋ฒ๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋์ JDBC API์ ๋ง๊ฒ ๋์ํ ์ ์๊ฒ๋
์ฆ, ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ API๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๋๋ผ์ด๋ฒ ๋งค๋์ ๋ง ๊ฐ์ ๋ผ์ ์ฃผ๋ฉด ์ด๋ค ์ ํ์ด๋ ์ ๊ทผํ ์ ์๊ฒ ๋ง๋๋๊ฒ
JDBC API๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์คํ๋ง JDBC๋ฅผ ์ฌ์ฉํ๋ฉด ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ "์ด๋ค ์ฐ๊ฒฐ์ ํ ๊ฒ์ด๋ค" ์ด๋ฐ ๋ถ๋ถ์ ๋ฃ์ด์ค์ผ ๋๊ฒ ์ง๋ง
์ฐ๊ฒฐ์ ์์์ ์คํ ํด์ฃผ๊ณ , SQL, ํ๋ผ๋ฏธํฐ, Statement ๋ฑ ์ด๋ฐ๊ฑธ ์์์ ๋ค ํด์ค.
SQLMapper ์ Mybatis ๋ JDBC์์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ค์ ์ข ๋ค๋ฅด๊ฒ ํด์์ ํจ.
Mybatis์ ์ฃผ ๊ด์ฌ์ฌ๋ SQL์ ๋ถ๋ฆฌ ํ์ ์ ๋๋ค.
์๋ฐ์ฝ๋์์ SQL ์ฐ๋๊ฑฐ ๊ต์ฅํ ๋ถํธํ๋ค ์๋ํ๋ฉด String์ผ๋ก ๋ฃ์ด์ผ ๋๊ธฐ ๋๋ฌธ
๋์ด์ฐ๊ธฐ ํ๋๋ผ๋ ์๋ชปํ๋ค๋ฉด ์ค๋ฅ๊ฐ ๋จ.
๊ทธ๋์ Mybatis๋ ์ฟผ๋ฆฌ๋ฅผ JAVA์์ XML๋ก ์ฎ๊น.
๊ทธ๋์ ๋ณต์กํ JDBC ์ฝ๋์ธ ์ปค๋ฅ์ ,์คํ ์ดํธ๋จผํธ, ResultSet ๋ฑ์ ํ๋๋ ์ ์ฐ๊ณ ์ต๋ํ ๊ฐ๋จํ๊ฒ XML๋ก ๊ด๋ฆฌ๋ฅผ ํ๊ฒ ๋ค!
์ฆ SQL์ ์๋ฐ์ ๋ฉ์๋์ ๋งคํ์ ํด์ฃผ๊ฒ ๋จ.
'Spring๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ์ฆ๋ฒํธ ๋ฐ์ก ์: ์ ํจ ์๊ฐ ์ค์ (session ์ฌ์ฉ) (1) | 2024.02.25 |
---|---|
Spring Bean ์ ๋ฆฌ (1) | 2022.10.23 |
spring MVC(๋ชจ๋ธ2, DispatcherServlet) ์ ๋ฆฌ (3) | 2022.10.20 |
Spring(์คํ๋ง) : API (2) | 2022.09.24 |
Spring ์ค์น (1) | 2022.04.01 |