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. ์ด์ 1 2 ๋ค์ 728x90