JDBC(Java Database Connectivity)
์๋ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ ์ ์๋๋ก ํ๋ ์๋ฐ API๋ก, Java๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
์ธํฐํ์ด์ค/๊ฐ๋ | ์ค๋ช | ์ฌ์ฉ๋๋ ํด๋์ค/๋ฉ์๋ |
---|---|---|
| ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ์ ๋ํ๋ด๋ ์ธํฐํ์ด์ค, ์ฐ๊ฒฐ ์ ๋ณด ๋ฐ ๊ด๋ฆฌ ๋ด๋น |
|
| SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ค๋ ์ญํ ์ ํ๋ ์ธํฐํ์ด์ค |
|
| SQL ์ฟผ๋ฆฌ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ์ธํฐํ์ด์ค |
|
JDBC ๋๋ผ์ด๋ฒ | ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒค๋์์ ์ ๊ณตํ๋ JDBC ๋๋ผ์ด๋ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | ๋ฒค๋๋ณ JDBC ๋๋ผ์ด๋ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (์: Oracle JDBC ๋๋ผ์ด๋ฒ, MySQL JDBC ๋๋ผ์ด๋ฒ ๋ฑ) |
์์ ์ธ ๊ฐ์ ์ธํฐํ์ด์ค์ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ DB์ ์ ๊ทผํ ์ ์๋ค.
JDBC Flow
๋จ๊ณ | ์ค๋ช | ์ฌ์ฉ ํด๋์ค/๋ฉ์๋ |
---|---|---|
1. Get Connection | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ |
|
2. Create Statement |
|
|
3. Configure Statement | ์์ฑ๋ |
|
4. Execute Statement | ๊ตฌ์ฑ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํ | - |
5. Handle Warning | SQL ์ฟผ๋ฆฌ ์คํ ์ค์ ๋ฐ์ํ ๊ฒฝ๊ณ ๋ ์์ธ ์ฒ๋ฆฌ | - |
6. Return Result | ์ฟผ๋ฆฌ๋ฅผ ์คํํ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ๋ฐํ | - |
7. Close Statement | ์์
์ด ์๋ฃ๋๋ฉด ์ฌ์ฉํ |
|
8. Close Connection | ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์
์๋ฃ ํ |
|
๊ต์ฅํ ๋ง์ ๊ณผ์ ์ ํ์๋ก ํ์ง๋ง JdbcTemplate
๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๊ณผ์ ์ ๋์ ์ฒ๋ฆฌํด์ฃผ์ด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
JDBC์ ์ฌ์ฉ
JDBC์ JdbcTemplate
๋ ์ด๋ฏธ ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ฃผ๊ณ ํธ๋ฆฌํจ์ ์ ๊ณตํด์ฃผ์์ง๋ง, ์ต๊ทผ์๋ ์ง์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค๋ SQL Mapper
๋ ORM
์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค.
SQL Mapper
์ฅ์
SQL ์๋ต ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ฒด๋ก ํธ๋ฆฌํ๊ฒ ๋ณํ
JDBC์ ๋ฐ๋ณต ์ฝ๋๋ฅผ ์ ๊ฑฐ
๋จ์
๊ฐ๋ฐ์๊ฐ SQL์ ์ง์ ์์ฑ
๋ํ ๊ธฐ์ : ์คํ๋ง JdbcTemplate, MyBatis
ORM
์ฅ์
๊ฐ์ฒด์ RDB์ ํจ๋ฌ๋ค์ ๋ถ์ผ์น ํด๊ฒฐ
์์ฐ์ฑ
์ ์ง๋ณด์
๋จ์
ํ์ต๋น์ฉ
์๋ชป ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ ์ด์
JPA๋ ์๋ฐ ์ง์์ ORM ํ์ค ์ธํฐํ์ด์ค
๋ํ ๊ธฐ์ : JPA, ํ์ด๋ฒ๋ค์ดํธ, ์ดํด๋ฆฝ์ค๋งํฌ
์ฐธ๊ณ ์๋ฃ
Last updated