๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๊ฐœ์ธ ๊ณต๋ถ€/DB12

[jdbc] ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ (feat. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ) ๐Ÿ“‘ ์ด์ „ ๊ธ€: ํŠธ๋žœ์žญ์…˜โœ… ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌํŠธ๋žœ์žญ์…˜์€ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์ด ์žˆ๋Š” ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด, ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๋ถ€๋ถ„์œผ๋กœ ์ธํ•ด ์‹คํ–‰์ทจ์†Œ๋˜์–ด์•ผ ํ•˜๋Š” ์ž‘์—…๋“ค์€ ์ „๋ถ€ ๋กค๋ฐฑํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด Connection์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค!์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ํŠธ๋žœ์žญ์…˜์„ ์œ ์ง€ํ•˜๋ ค๋ฉด์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ์ปค๋„ฅ์…˜์„ ๋งŒ๋“ค๊ณ , ํŠธ๋žœ์žญ์…˜์— ๋๋‚  ๋•Œ๊นŒ์ง€ ๋™์ผํ•œ ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿ“Œ ๋ฌธ์ œ์ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ๋‚˜๋จธ์ง€ ํด๋ž˜์Šค๋“ค์˜ ๋ณ€๊ฒฝ์ด ์ตœ์†Œํ™”๋˜์–ด์•ผ ํ•œ๋‹ค. ์ฆ‰ UI๊ฐ€ ๋ฐ”๋€Œ๊ณ , ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ธฐ์ˆ ์ด ๋ฐ”๋€๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ํ•ต์‹ฌ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์ธ ์„œ๋น„์Šค ๊ณ„์ธต์€ ์ตœ๋Œ€ํ•œ ์ˆ˜์ •๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํŠธ๋žœ์žญ์…˜์„ ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ์‹œ์ž‘ํ•ด๋ฒ„๋ฆฌ๋ฉด์„œ๋น„์Šค ๊ณ„์ธต์€ jdbc.. 2025. 2. 5.
ํŠธ๋žœ์žญ์…˜ ๐Ÿ“‘ ์ด์ „ ๊ธ€: [Jdbc] ์ปค๋„ฅ์…˜ ํ’€๋ง๊ณผ DataSource ์ธํ„ฐํŽ˜์ด์Šค  โœ… ํŠธ๋žœ์žญ์…˜ ๊ฐœ๋…๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•œ๋‹ค.ํŒŒ์ผ ์‹œ์Šคํ…œ ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ด๊ธฐ๋„ ํ•˜๋‹ค. ํŠธ๋žœ์žญ์…˜์ด๋ž€, ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณด์žฅํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.ํŠธ๋žœ์žญ์…˜์—์„œ ๋ชจ๋“  ์ž‘์—…์ด ์„ฑ๊ณตํ•ด์„œ DB์— ์ •์ƒ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ Commit์ด๋ผ๊ณ  ํ•œ๋‹ค.ํŠธ๋žœ์žญ์…˜์—์„œ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ•ด์„œ ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘ ์ „ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ์„ Rollback์ด๋ผ๊ณ  ํ•œ๋‹ค. ๐Ÿ“Œ ํŠธ๋žœ์žญ์…˜ ACID- ํŠธ๋žœ์žญ์…˜์€ ์›์ž์„ฑ(Atomicity), ์ผ๊ด€์„ฑ(Consistency), ๊ฒฉ๋ฆฌ์„ฑ(Isolation), ์ง€์†์„ฑ(Durability)์„ ๋ชจ๋‘ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค. ๐Ÿฅ ์›์ž์„ฑ (Atomicity)- ํŠธ๋žœ์žญ์…˜ ์•ˆ์—์„œ ์‹คํ–‰ํ•œ ์ž‘์—…๋“ค์€ ๋งˆ์น˜ ํ•˜.. 2025. 1. 30.
[Jdbc] ์ปค๋„ฅ์…˜ ํ’€๋ง๊ณผ DataSource ์ธํ„ฐํŽ˜์ด์Šค ๐Ÿ“„ ์ด์ „ ๊ธ€: JDBC์™€ SQL Mapper, ORM ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ  โœ… DriverManager- JDBC๊ฐ€ ๋“ฑ์žฅํ•จ์œผ๋กœ์จ "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜ - SQL ์ฟผ๋ฆฌ ๋‚ ๋ฆฌ๊ธฐ - ์‘๋‹ต ๋ฐ›๊ธฐ" ๊ณผ์ •์ด ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ˆ˜์›”ํ•ด์กŒ๋‹ค. - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜์„ ์ƒ์„ฑํ•˜๋Š” ์‰ฌ์šด ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋Š” DriverManager.getConnection() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๐Ÿฅ ์˜ˆ์‹œ ์ฝ”๋“œ// DriverManager๋ฅผ ์ด์šฉํ•œ ์ปค๋„ฅ์…˜ ํš๋“String url = "jdbc:h2:tcp://localhost/~/test";String username = "sa";String password = "";Connection connection = DriverManager.getConnection(url, username, passwor.. 2025. 1. 28.
JDBC์™€ SQL Mapper, ORM ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ โœ… JDBC๋Š”   ์™œ ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ์„๊นŒ?- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๊ฐ’์„ ์กฐํšŒํ•˜๊ฑฐ๋‚˜, ์ €์žฅํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค.- ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ ์ž‘์—…์„ ํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ์ฟผ๋ฆฌ ์‹คํ–‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์‘๋‹ต ๋ฐ›๊ธฐ์˜ ๊ณผ์ •์„ ์†Œ์Šค์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.- ๊ณผ๊ฑฐ์—๋Š” DB ์ปค๋„ฅ์…˜ ์ŠคํŽ™์ด๋‚˜ SQL ๋ฌธ๋ฒ• ๋“ฑ์ด ๋ชจ๋‘ ๋‹ฌ๋ž๊ธฐ ๋•Œ๋ฌธ์—, DB๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋„ ์ „๋ถ€ ์ˆ˜์ •ํ•ด์•ผ ํ–ˆ๋‹ค. - ๊ทธ๋ž˜์„œ JDBC๊ฐ€ ๋“ฑ์žฅํ–ˆ๋‹ค. โœ… JDBC๋ž€?- JDBC๋Š” ์ž๋ฐ”์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†, ์ฟผ๋ฆฌ, ์‘๋‹ต๋ฐ›๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•ด๋‘” ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.- JDBC ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค๋Š” java.sql ํŒจํ‚ค์ง€์— ์ •์˜๋˜์–ด ์žˆ๋‹ค.    (์—ฐ๊ฒฐ ๊ด€๋ จ - java.sql.Connection, ์ฟผ๋ฆฌ ๊ด€๋ จ - java.sql.Stat.. 2025. 1. 21.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ๊ณผ PRIVILEGES ๐Ÿ“Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํšŒ์‚ฌ์˜ ์‚ฌ์—…์ ์ธ ๋ถ€๋ถ„๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๊ฐ€ ๋งŽ์ด ๋“ค์–ด์žˆ๋Š” ์ค‘์š”ํ•œ ์ž์‚ฐ์ด๋ฏ€๋กœ ๋ณด์•ˆ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ 3๊ฐ€์ง€๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. 1๏ธโƒฃ ๋ณด์•ˆ(security)- ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.2๏ธโƒฃ ๋ฌด๊ฒฐ์„ฑ(integrity)- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ •์€ ์ˆ˜์ • ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋งŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค.3๏ธโƒฃ ๊ฐ€์šฉ์„ฑ(availability)- ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ ‘๊ทผ์ด ๊ฑฐ๋ถ€๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. โœ… User ๊ฐœ์ฒด- DBMS๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.- DBMS๋Š” ์„ค์น˜๋  ๋•Œ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ–๋Š” ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค. - DBMS ์‚ฌ์šฉ์ž๋Š” ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์ƒ์„ฑํ• .. 2024. 11. 24.
์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ํ•ด์•ผ ํ•˜๋Š” ์ด์œ  (์‚ฝ์ž…์ด์ƒ, ์‚ญ์ œ์ด์ƒ, ๊ฐฑ์‹ ์ด์ƒ) ๊ฐœ๋… ์„ค๊ณ„๋ฅผ ํ•˜๊ณ  ๋‚˜๋ฉด ์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ตœ์ ํ™”๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ์Šคํ‚ค๋งˆ ์ •์ œ๋ฅผ ํ•˜์ง€ ์•Š์€ ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ์ €์žฅ์œผ๋กœ ์ธํ•ด์‚ฝ์ž… ์ด์ƒ, ์‚ญ์ œ ์ด์ƒ, ๊ฐฑ์‹  ์ด์ƒ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‚ฝ์ž… ์ด์ƒ - ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ, ๋‹ค๋ฅธ ์ •๋ณด๋„ ๋ฐ˜๋“œ์‹œ ๊ฐ™์ด ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.์‚ญ์ œ ์ด์ƒ - ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ์ง€์šฐ๋ฉด ์˜๋„์น˜ ์•Š๊ฒŒ ๋‹ค๋ฅธ ์ •๋ณด๊นŒ์ง€ ์‚ญ์ œ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.๊ฐฑ์‹  ์ด์ƒ - ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€๋งŒ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.  ์˜ˆ๋ฅผ ๋“ค์–ด "๊ฐ™์€ ๋“ฑ๊ธ‰์˜ ์‚ฌ๋žŒ๋ผ๋ฆฌ๋Š” ๋™์ผํ•œ ์‹œ๊ธ‰์„ ๋ฐ›์•„์•ผ ํ•œ๋‹ค" ๋ผ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•„๋ฅด๋ฐ”์ดํŠธ์ƒ ํ…Œ์ด๋ธ”์„ ์ •์˜ํ–ˆ๋‹ค๊ณ  ์น˜์ž.๋ฒˆํ˜ธ์ด๋ฆ„๋“ฑ๊ธ‰์‹œ๊ธ‰1๋ชฝ๋‚˜1105002์•…๋น„๋ฅด299003์•…๋น„์•„๋ฅด398004์ฐŒ๋ฅดํ˜ธํฌ29900 (1) .. 2024. 11. 11.
728x90