์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ“˜ JDBC API์— ๋Œ€ํ•ด์„œโ€ฆ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ‘œ์ค€ ์ •์˜

API(Application Programming Interface)๋ž€?

์ •์˜ ๋ฐ ํ”„๋กœํ† ์ฝœ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ [์ถœ์ฒ˜ : https://aws.amazon.com/ko/what-is/api/]

  • ์˜ˆ) ๊ธฐ์ƒ์ฒญ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์—๋Š” ์ผ์ผ ๊ธฐ์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Œ. ํ•ธ๋“œํฐ์˜ ๋‚ ์”จ ์•ฑ์€ API๋ฅผ ํ†ตํ•ด ์ด ์‹œ์Šคํ…œ๊ณผ โ€˜๋Œ€ํ™”โ€™ํ•˜์—ฌ ํ•ธ๋“œํฐ์— ๋งค์ผ ์ตœ์‹  ๋‚ ์”จ ์ •๋ณด๋ฅผ ํ‘œ์‹œ

SQLException (์˜ˆ์™ธ์ฒ˜๋ฆฌ)

1. Exception

  • ์ปดํŒŒ์ผ ์‹œ ์ฒดํฌ๋˜๋Š” ์˜ˆ์™ธ
  • ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉด ์ปดํŒŒ์ผ ๋˜์ง€ ์•Š์Œ
  • ๋ฌด์กฐ๊ฑด ์ ์ ˆํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์˜ˆ์™ธ
  • try ~ catch, throws (์˜ˆ์™ธ ์ „๊ฐ€) ํ•„์ˆ˜

2. RuntimeException

  • ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ฒดํฌ๋˜๋Š” ์˜ˆ์™ธ
  • ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋”๋ผ๋„ ์ปดํŒŒ์ผ ๋จ
  • try ~ catch, throws๊ฐ€ ํ•„์ˆ˜๋Š” ์•„๋‹˜
  • ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ์•ผ ํ•จ

3. JDBCTemplate

  • ์Šคํ”„๋ง์ด ์ž์›์˜ ์—ฐ๊ฒฐ, ํ•ด์ œ๋ฅผ ๋Œ€์‹  ํ•ด์คŒ
  • ์˜ˆ์™ธ์ฒ˜๋ฆฌ์˜ ์œ ์—ฐ์„ฑ
    • SQLException -> DataAccessException(RuntimeException)
    • try~catch, throws๊ฐ€ ํ•„์ˆ˜๋Š” ์•„๋‹˜
  • ์ปค๋„ฅ์…˜ ํ’€
    • DB์—ฐ๊ฒฐ ๊ฐ์ฒด๋ฅผ ๋ฏธ๋ฆฌ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด ๋†“๋Š” ๊ฒƒ
  • List query
    • ๋ฐ˜ํ™˜๊ฐ’ T
    • ๊ฒ€์ƒ‰(SELECT)
    • query(String sql, RowMapper mapper)
    • map -> ๊ฒ€์ƒ‰ -> ๋งค์นญ
  • int update
    • ๋ฐ˜ํ™˜๊ฐ’: ๋ฐ˜์˜๋œ ๋ ˆ์ฝ”๋“œ ์ˆ˜
    • ์ถ”๊ฐ€(INSERT), ์ˆ˜์ •(UPDATE), ์‚ญ์ œ(DELETE)

์„ค์น˜ (pom.xml)

  1. spring-context
  2. spring-jdbc
    • ์ผ์ข…์˜ api
  3. tomcat-jdbc
    • spring-jdbc์˜ ๊ตฌํ˜„์ฒด
  4. mysql-connector-java

ํƒœ๊ทธ: ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ