JDBC(Java Database Connectivity)๋ ๋ค์ํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)๊ณผ ์ฐ๊ฒฐํ๊ณ ์ํธ ์์ฉํ๊ธฐ ์ํ ํ์ค ๋ฐ ํตํฉ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฉ์ผ๋ก ํน๋ณํ ์ค๊ณ๋ API(์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค)์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก JDBC๋ Java ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ RDBMS ๊ฐ์ ์ค์ํ ๋ธ๋ฆฌ์ง ๋๋ ์ค๊ฐ์ ์ญํ ์ ํ์ฌ ๊ฐ๋ฐ์๊ฐ Java ์์ฉ ํ๋ก๊ทธ๋จ ๋ด์์ SQL(๊ตฌ์กฐ์ ์ฟผ๋ฆฌ ์ธ์ด)์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํจ์จ์ ์ด๊ณ ์ฝ๊ฒ ์ก์ธ์คํ๊ณ ์กฐ์ํ ์ ์๋๋ก ํด์ค๋๋ค.
1997๋ ์ ๋์ ๋ JDBC๋ Java ์ํ๊ณ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ํ ์ ๊ณ ํ์ค ์ ๊ทผ ๋ฐฉ์์ด ๋์์ผ๋ฉฐ, ๋จ์ํ ๋ฐ์คํฌํฑ ์ํํธ์จ์ด๋ถํฐ ๋ณต์กํ ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ์์คํ ์ ์ด๋ฅด๊ธฐ๊น์ง ๊ด๋ฒ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. JDBC์ ์ฃผ์ ๋ชฉ์ ์ Java ์ ํ๋ฆฌ์ผ์ด์ ์ Oracle, MySQL, SQL Server, PostgreSQL ๋ฑ๊ณผ ๊ฐ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ ์ ์๋ ์ผ๊ด๋๊ณ ์ ์ฐํ๋ฉฐ ๊ฐ๋ ฅํ ์๋จ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ค๋๋ ์ ๋์งํธ ์ธ๊ณ์์ ๋ฐ์ดํฐ ์ก์ธ์ค, ์ ์ฅ, ๊ฒ์ ๋ฐ ์ฒ๋ฆฌ์ ์ค์์ฑ์ ๊ณ ๋ คํ ๋ ์ด๋ฌํ ํธํ์ฑ์ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋งค์ฐ โโ์ค์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก JDBC๋ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ ์ ์๋๋ก ํ์คํ๋ API๋ฅผ ์ ์ํ๋ Java ์ธํฐํ์ด์ค ๋ฐ ํด๋์ค ์ธํธ๋ก ๊ตฌ์ฑ๋์ด ๋ค์ํ RDBMS ๊ฐ์ ๊ธฐ๋ณธ ์ฐจ์ด์ ์ ์ถ์ํํฉ๋๋ค. JDBC๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฆฌ์์ค์ ์ก์ธ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ ๋ฅ๋ฅ ํํ๋ฏ๋ก ๊ฐ๋ฐ์๋ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฐ ํต์ ๋ฌธ์ ๋ก ์จ๋ฆํ๋ ๋์ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ ๋ฐ ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ ๊ตฌํ์ ์ง์คํ ์ ์์ต๋๋ค.
JDBC๋ ๋๋ผ์ด๋ฒ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฌ๊ธฐ์ ๊ฐ ํน์ RDBMS๋ JDBC API ํธ์ถ์ ํน์ ํ์ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น ๋ฐ ํต์ ํ๋กํ ์ฝ๋ก ๋ณํํ๋ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ์์ฒด JDBC ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ์ํคํ ์ฒ๋ ๊ฐ๋ฐ์๊ฐ Java ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ํฌ๊ฒ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ฝ๊ฒ ๊ต์ฒดํ๊ฑฐ๋ ์ ๊ทธ๋ ์ด๋ํ ์ ์์ผ๋ฏ๋ก ๋ชจ๋์ฑ, ํ์ฅ์ฑ ๋ฐ ์ํธ ์ด์ฉ์ฑ์ ์ด์งํฉ๋๋ค. ์ ์ ํ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ๊ต์ฒดํ๊ธฐ๋ง ํ๋ฉด Java ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋ ๋ฒ ์ด์ค๋ฅผ ์ต์ํ์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๊ณ์ ์๋ํ ์ ์์ต๋๋ค.
JDBC API๋ ๊ธฐํ ํ์ ์์ ์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ค์ , SQL ๋ฌธ ์ค๋น ๋ฐ ์คํ, ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ, ํธ๋์ญ์ ์ํ, ์ค๋ฅ ๋ฐ ์์ธ ์ฒ๋ฆฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํฌ๊ด์ ์ธ ์ธํฐํ์ด์ค ๋ฐ ํด๋์ค ์ธํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ค์ํ JDBC ๊ตฌ์ฑ ์์ ์ค ์ผ๋ถ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- DriverManager: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ผ์ด๋ฒ ๋ชฉ๋ก์ ๊ด๋ฆฌํ๊ณ ํน์ RDBMS์ ๋ํ ์ ์ ํ JDBC ๋๋ผ์ด๋ฒ์ ๋ํ ๋ฑ๋ก, ๊ฒ์ ๋ฐ ์ฐ๊ฒฐ์ ์ง์ํ๋ ํด๋์ค์ ๋๋ค.
- ์ฐ๊ฒฐ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ์ํํ๊ณ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ง์ ์ ์ญํ ์ ํ๋ ํน์ RDBMS์ ๋ํ ์ฐ๊ฒฐ์ ๋ํ๋ด๋ ์ธํฐํ์ด์ค์ ๋๋ค.
- Statement, preparedStatement ๋ฐ CallableStatement: ๋จ์ ํ๋ก์์ , ๋งค๊ฐ๋ณ์ํ๋ ํ๋ก์์ , ์ ์ฅ ํ๋ก์์ ๋ฅผ ๋น๋กฏํ ๋ค์ํ ์ ํ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ๋๋ค.
- ResultSet: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ์ธํฐํ์ด์ค๋ก, ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ ๋ ์ฝ๋๋ฅผ ํจ์จ์ ์ด๊ณ ์์ฐจ์ ์ผ๋ก ํ์ํ๊ณ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- SQLException: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ค์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ ๋ฐ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ฐ๋ฐ์์๊ฒ ์์ธํ ์ง๋จ ์ ๋ณด ๋ฐ ๋ณต๊ตฌ ์ต์ ์ ์ ๊ณตํ๋ ํด๋์ค์ ๋๋ค.
AppMaster ๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๊ฐ๋ ฅํ no-code ๋๊ตฌ์ ๋๋ค. AppMaster ์์ฑ๋ Java ๊ธฐ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ JDBC๋ฅผ ์ํํ๊ฒ ํตํฉํ์ฌ ๋ชจ๋ Postgresql ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ ์ ์๋ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ด ํตํฉ์ AppMaster ๊ณ ๊ฐ์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ์๋ช ์ฃผ๊ธฐ๋ฅผ ํฌ๊ฒ ๋จ์ํํ๊ณ ๊ฐ์ํํ์ฌ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์คํํ๋ ๋ฐ ์ง์คํ ์ ์๋๋ก ํฉ๋๋ค. ๋ํ AppMaster ์ no-code ์ ๊ทผ ๋ฐฉ์๊ณผ ์๋ ์์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๊ณ ๊ฐ์ ๊ธฐ์ ์ ๋ถ์ฑ์ ๋ฆฌ์์ค ์ค๋ฒํค๋๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ํ๋์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์ํํธ์จ์ด ์๋ฃจ์ ์ ๊ตฌ์ถํ๊ณ ์ ์งํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก JDBC๋ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ RDBMS์ ์ฐ๊ฒฐํ์ฌ ์ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํตํฉ, ์ก์ธ์ค ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ด์งํ๋ ์ค์ํ ์ ๊ณ ํ์ค API์ ๋๋ค. ์๋ ์ ๊ฑธ์ณ JDBC๋ ๋ค์ํ ํฌ๊ธฐ์ ๋ณต์ก์ฑ์ ์ง๋ ์๋ง์ Java ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ทธ ๊ฐ์น๋ฅผ ์ ์ฆํด ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ๋ ฅํจ๊ณผ ํธ๋ฆฌํจ์ ํตํด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค. JDBC๋ฅผ ์ ํ์ ํตํฉํจ์ผ๋ก์จ AppMaster ๊ณ ๊ฐ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์์ฐ์ฑ์ ๋์ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ, ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ ์ธก๋ฉด์์ ํจ์ฌ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ์ง์ํฉ๋๋ค.