ย ์๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ๋ ๊ฒ๋ค์ ํ์ตํ๊ฒ ๋๋ฉด ์ ์ผ ๋จผ์ ํ์ด๋์ค๋ ๊ฒ ์๋ค.
ํต์นญ JDBC (Java Database Connectivity). ์๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๋ํ๊ธฐ ์ํด ํ์ํ๋ค๋ ๊ฒ๋ง ์๊ณ ์๋ค.
JDBC์ ๋ํด ์ข ๋ ๊น๊ฒ ์์๋ณด์.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ
- Java ํ๋ก๊ทธ๋จ๊ณผ DB ์ฌ์ด์ ์ฐ๊ฒฐ์ ๋ง๋ ๋ค.
- SQL๋ฌธ ์คํ
- ์์ฑ๋ SQL ๋ช ๋ น๋ฌธ์ DB๋ก ๋ด๋ณด๋ด๊ณ ์คํํ๋ค.
- ๊ฒฐ๊ณผ ๋ฐํ
- DB์์ ์คํํ SQL๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ Java ํ๋ก๊ทธ๋จ์ผ๋ก ๊ฐ์ ธ์จ๋ค.
- ์ฐ๊ฒฐ ์ข ๋ฃ
- ์์ ์ด ๋๋๋ฉด ์ฐ๊ฒฐ์ ๋ซ๊ณ , ํ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ ๋ฆฌํ๋ค.
- DB์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ํ์ํ ๋๋ผ์ด๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ค.
- DB์์ ์ฐ๊ฒฐ์ ๋ง๋ค์ด์ค๋ค.
- ์ ํ๊ตญ ๊ฐ์ ์ญํ ์ด๋ค.
- Java ํ๋ก๊ทธ๋จ๊ณผ DB ๊ฐ์ ์ฐ๊ฒฐ์ ๋ด๋นํ๋ค.
- ์ ํ์ ๊ฐ์ ์ญํ ์ด๋ค.
- Java ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ๋ SQL ๋ช ๋ น๋ฌธ์ DB๋ก ์ ๋ฌํ๋ค.
- ์ ํ๊ธฐ ๊ฐ์ ์ญํ ์ด๋ค.
- DB์์ SQL ๋ช ๋ น๋ฌธ์ ์ํํ ๊ฒฐ๊ณผ๋ฅผ Java ํ๋ก๊ทธ๋จ์ผ๋ก ๊ฐ์ ธ์จ๋ค.
- ์ ํ๊ธฐ๋ฅผ ํตํด ์๋๋ฐฉ์๊ฒ ์ ํด๋ฐ๋ ๋ต๋ณ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
- DB์ ๊ด๋ จ๋ ์์ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋์ ธ์ง๋ ์์ธ์ด๋ค.
Class.forName(url);
Connection conn = DriverManger.getConnection(url, username, password);
Statement stmt = conn.createStatement();
stmt.executeUpdate(query);
// Statement ๋์ PreparedStatement ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ์ ๋ก๋ถํฐ ์ ๋ฌ๋ฐ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ด์ ์ ์๋ค. (์ถํ ๋ค๋ค๋ณผ ์์ )
try (PreparedStatement stmt = conn.prepareStatement(query, PreparedStatement.RETURN_GENERATED_KEYS)
) {
ResultSet rs = stmt.getGeneratedKeys()
while (rs.next()) {
return rs.getLong(1);
} catch (SQLException e) {
throw new RuntimeException("SQL ERROR", e);
}
conn.close();
- DBMS์ ์ข ์๋์ง ์์์ ์ฌ๋ฌ DB์ ํธํ๋๋ค.
- SQL ๋ช ๋ น๋ฌธ์ ์ง์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฐํ ๋ฐ์ดํฐ ์กฐ์์ด ๊ฐ๋ฅํ๋ค.
- SQL ๋ช ๋ น๋ฌธ์ ์ง์ ๋ค๋ค์ผ ํ๋ฏ๋ก ์ฝ๋๊ฐ ์ง์ ๋ถํ๋ฉฐ ๋ฐ๋ณต๋๋ ์ฝ๋๊ฐ ๋ง์ ์ ์ง๋ณด์์ ์ด๋ ค์์ด ์๋ค.
- SQL ๋ฌธ๋ฒ์ ์ถ๊ฐ๋ก ๊ณต๋ถํ์ง ์์ผ๋ฉด DB ์์ ์ ์์ํ๊ฒ ํ ์ ์๋ค.
์ฐธ๊ณ ) OpenAI. (2024).ChatGPT(4o)[Large language model].https://chatgpt.com/