๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ฆฌ์ œ

JDBC(Java Database Connectivity) ๋ณธ๋ฌธ

๊ฐœ๋ฐœ์ž ํ˜ธ์†Œ์ธ/Server

JDBC(Java Database Connectivity)

๋ฆฌ์ œ๐Ÿซง 2026. 7. 3. 16:41
  • ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•ด SQL์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ‘œ์ค€ API
  • ์ž๋ฐ” ์ง„์˜์—์„œ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค ๋ชจ์Œ์ด๋ฉฐ, ์‹ค์ œ ๋™์ž‘์€ ๊ฐ DBMS ๋ฒค๋”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„(๊ตฌํ˜„์ฒด)๊ฐ€ ๋‹ด๋‹น
  • ์ฆ‰ ๊ฐœ๋ฐœ์ž๋Š” MySQL์ด๋“  Oracle์ด๋“  ๋™์ผํ•œ JDBC ์ธํ„ฐํŽ˜์ด์Šค(Connection, Statement, ResultSet ๋“ฑ)๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , DB ์ข…๋ฅ˜๋งŒ ๋ฐ”๋€Œ๋ฉด ๋“œ๋ผ์ด๋ฒ„๋งŒ ๊ต์ฒดํ•˜๋ฉด ๋จ → DB ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅ

JDBC์˜ ํ•ต์‹ฌ ํ๋ฆ„

  1. ๋“œ๋ผ์ด๋ฒ„ ๋กœ๋”ฉ
  2. Connection(์—ฐ๊ฒฐ) ํš๋“
  3. Statement(SQL ์‹คํ–‰ ๊ฐ์ฒด) ์ƒ์„ฑ
  4. SQL ์‹คํ–‰
  5. ๊ฒฐ๊ณผ(ResultSet) ์ฒ˜๋ฆฌ
  6. ์ž์› ๋ฐ˜๋‚ฉ(close)

์ ‘์† ์ •๋ณด(JDBC URL) ๊ตฌ์กฐ

server๊ณ„์ •์œผ๋กœ ์ ‘์†

Connection ์–ป๊ธฐ (DriverManager)

๋“œ๋ผ์ด๋ฒ„ ๋กœ๋”ฉ (JDBC 4.0 ์ดํ›„ ์ƒ๋žต ๊ฐ€๋Šฅ)

  • ๊ณผ๊ฑฐ์—๋Š” Class.forName("com.mysql.cj.jdbc.Driver")๋กœ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋กœ๋”ฉํ•ด์•ผ ํ–ˆ์Œ
  • → JDBC 4.0๋ถ€ํ„ฐ๋Š” ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐฉ์‹(SPI)์„ ์ง€์›ํ•ด์„œ ์ƒ๋žต ๊ฐ€๋Šฅํ•จ.

DriverManager.getConnection()

 

try-with-resources

์‚ฌ์šฉ → ๋ธ”๋ก์ด ๋๋‚˜๋ฉด Connection์ด ์ž๋™์œผ๋กœ close() ๋จ (์ž์› ๋ฐ˜๋‚ฉ ์‹ค์ˆ˜ ๋ฐฉ์ง€)