Bibi's DevLog ๐Ÿค“๐ŸŽ

[TIL - Codesquad] MySQL Connector, JDBC ๊ณต๋ถ€์‹œ์ž‘ ๋ณธ๋ฌธ

TIL

[TIL - Codesquad] MySQL Connector, JDBC ๊ณต๋ถ€์‹œ์ž‘

๋น„๋น„ bibi 2021. 1. 29. 19:16

[210129]

์˜ค๋Š˜์€ ํ˜ธ๋ˆ…์Šค ์ˆ˜์—… ๋“ฃ๊ณ  ์ฝ”๋”ฉ, ๊ทธ๋ฃน๋ฆฌ๋ทฐ, ๊ทธ๋ฃน ํšŒ๊ณ ๋ฅผ ํ–ˆ๋‹ค.

๋ฏธ์…˜ ์ง„ํ–‰์ด ํ„ฐ๋ฌด๋‹ˆ์—†์ด ์•ˆ ๋˜์–ด์„œ ๋„ˆ๋ฌด ์Šฌํ”„๋‹ค๐Ÿ˜ญ ์ดˆ๋ผํ•œ ๋‚˜์˜ gist..

๊ทธ๋ž˜๋„ ๋งˆ์นจ ์ฃผ๋ง์— ์‹œ๊ฐ„์ด ์žˆ์œผ๋‹ˆ ์ฃผ๋ง ๋™์•ˆ ์ด์–ด์„œ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค. ๋ฏธ์…˜์„ ์™„์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๋ฏธ์…˜ ์™„์„ฑํ•˜๋Š” ๋ฐ์— ํ•„์š”ํ•œ ์ง€์‹๊ณผ ๊ธฐ์ˆ ์„ ์ตํ˜€์•ผ๊ฒ ๋‹ค.. (ํŠนํžˆ JDBC)

TIL

MySQL ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ ์กฐํšŒ

DESC ํ…Œ์ด๋ธ”๋ช…
: ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ์Šคํ‚ค๋งˆ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด

ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ ์„ค์ •ํ•œ ํ•„๋“œ๋ช…, ํƒ€์ž…, ์ œ์•ฝ์กฐ๊ฑด ๋“ฑ์ด ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•„์„œ ๊ฒ€์ƒ‰ํ•จ.

MySQL ์˜ˆ์•ฝ์–ด..

์•„๋ฌด๋ฆฌ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•ด๋„

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ... at line ์ˆซ์ž ๊ฐ€ ๋œจ๊ธธ๋ž˜ ๋Œ€์ฒด ์™œ ์•ˆ๋˜๋‚˜ ํ•ด์„œ ๊ตฌ๊ธ€๋งํ•ด๋ดค๋”๋‹ˆ..

key ๊ฐ€ MySQL ์˜ˆ์•ฝ์–ด์˜€๋‹ค.

์‚ฌ์šฉ์ž ํ‚ค๊ฐ’์ด๋‹ˆ๊นŒ ๊ทธ๋ƒฅ key๋ผ๊ณ  ํ•˜๋ฉด ๋˜๊ฒ ์ง€~ ํ•˜๊ณ  ํ•„๋“œ๋ช…์„ ์ง€์ •ํ•œ ๋‚ด ํƒ“์ด์˜ค..๐Ÿ˜ญ

๋‚ด๊ฐ€ CREATE TABLE ๋ฌธ์„ ์ž˜๋ชป ์ž‘์„ฑํ•œ ์ค„ ์•Œ๊ณ  ๊ณ„์† ๊ตฌ๊ธ€๋งํ•˜๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ‘ํ‘

MySQL Connector

MySQL DB์™€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๊ฒฐํ•ด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์ด ๋‘ ๊ฐœ๋…์— ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅํ„ฐ๋ž€?

: ํ”„๋กœ๊ทธ๋žจ๊ณผ DB๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ.

MySQL์˜ ๊ฒฝ์šฐ MySQL Connector๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์กด์žฌํ•˜๋‹ˆ, ๋‹ค์šด๋ฐ›์•„์„œ ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

(์ž๋ฐ” - ์ธํ…”๋ฆฌ์ œ์ด ๊ธฐ์ค€ ์„ค์ •๋ฒ•)

  1. ์œ„ ๋งํฌ์—์„œ Select Operating System... -> Platform Independent ์„ ํƒ.
  2. ZIPํŒŒ์ผ(๋‘๋ฒˆ์งธ ํŒŒ์ผ) ๋‹ค์šด๋กœ๋“œ ํ›„ ์••์ถ• ํ’€๊ธฐ
  3. mysql-connector-java-๋ฒ„์ „ ๋ฒˆํ˜ธ.jar ํŒŒ์ผ ์ฐพ๊ธฐ. (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ)
  4. ์ธํ…”๋ฆฌ์ œ์ด์—์„œ File - Project Structure - Libraries ์„ ํƒ
  5. + ๋ˆ„๋ฅด๊ณ  java์„ ํƒ
  6. 3.์—์„œ ์ฐพ์€ mysql-connector-java-๋ฒ„์ „ ๋ฒˆํ˜ธ.jar ํŒŒ์ผ ์—…๋กœ๋“œ, Apply, OK
  7. Project ๋งจ ์•„๋ž˜์˜ External Libraries ์— mysql-connector-java-๋ฒ„์ „ ๋ฒˆํ˜ธ.jar ์žˆ๋Š”์ง€ ํ™•์ธ (๋)

JDBC

JDBC๋ž€?
: ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” API. (์ถœ์ฒ˜ : Nas๊ฐ€ ๊ณต์œ ํ•ด ์ฃผ์‹  ํ•„๊ธฐ๐Ÿ™‡โ€โ™‚๏ธ)

: ์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ์— ๋Œ€ํ•œ ๊ทœ์•ฝ.

ํ”„๋กœ๊ทธ๋žจ - JDBC - DB๋“œ๋ผ์ด๋ฒ„ - DB ๋ฅผ ๊ฑฐ์ณ ์—ฐ๊ฒฐ๋œ๋‹ค.

JDBC๋กœ DB์—ฐ๊ฒฐ - 1 (Nas์˜ ์ถ”์ฒœ)

JDBC๋กœ DB์—ฐ๊ฒฐ - 2, JDBC๋กœ DB์—ฐ๊ฒฐ - 3

1, 2๋ฅผ ๋ณด๋ฉด์„œ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ž๊พธ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ.. ๋‚ด์ผ ๋” ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹คใ…œ