๋ชฉ์ฐจ
1. 23.11.20(์)
โ โ โ JDBC ํ๋ก๊ทธ๋๋ฐ ์ ์ฐจ โ โ โ
1. ๋๋ผ์ด๋ฒ ๋ก๋ฉ
Class.format();
-> Oracle Driver ๋ฅผ JAVA ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๋๋ผ์ด๋ฒ๋ฅผ JVM ์ ๋ก๋ฉํ๋ ๊ณผ์ .
/* ์ฌ์ฉํ ๋๋ผ์ด๋ฒ๊ฐ ์๋ค๋ ๊ฑธ ํ์ธํ๋ ์ฉ๋. () ์์ ๋งค๊ฐ๋ณ์๊ฐ ๋๋ผ์ด๋ฒ๋ก ๋ก๋ฉ๋ ์ ์๋์ง ํ์ธํ๋ ๊ณผ์ */
2. ์ปค๋ฅ์ ํ ๋น๋ฐ๊ธฐ
Drivermanager.getConnection();
/* ์ฑ์์ฅ~๊ด๋ถ๋ฅผ ์ฐ๊ฒฐํ๋ ๋นจ๊ฐ์ค */
3. ์ฟผ๋ฆฌ๋ฌธ ์ ์ก์ ์ํ ์์ ๊ฐ์ฒด ํ ๋น๋ฐ๊ธฐ
Statement ๋๋ PreparedStatement ํ ๋น๋ฐ๊ธฐ
conn.createStatement(); ๋๋ conn.preparedStatement();
4. ์์ ๊ฐ์ฒด๋ฅผ ํ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฌธ ์ ์ก
โ DML(insert, update, delete)๋ฌธ์ธ ๊ฒฝ์ฐ
int updateCount = stmt.executeUpdate(sql);
-> ์ํฅ๋ฐ์ ๋ ์ฝ๋ ์(์ ์ฉ๋ ํ์ ๊ฐฏ์) ๋ฐํ
/* - executeUpdate: ์ค๋ผํด์ ์ ๋ฌํ๋๋, ์คํํ๊ณ ๋๋ฉด ๊ฐ์ด ๋ฐ๋๋(DB๊ฐ์ด ๋ฐ๋๋)
๋ณํ๋ ๋ ์ฝ๋ ์๋ฅผ count ํ๊ธฐ๋ ํจ. ๊ทธ๋์ return ์๋ฃํ์ด int ์ผ ์ ์๋๋ก
int ๋ณ์ ์ค์ ํด์ ๊ฐ์ ๋ฐ์ ์ ์๋๋ก ์ฝ๋ ์์ฑ
*/
โ select ๋ฌธ์ธ ๊ฒฝ์ฐ
ResultSet rs = stmt.executeAuery(sql);
-> ๊ฒฐ๊ณผ ์งํ ํํ๋ก ResultSet ๋ฐํ
/* - excuteQuery : ์ ๋ฌํ๊ณ ๋์ ๊ฐ์ด ๋ฐ๋์ง ์์ ๋ */
5. (select ๊ตฌ๋ฌธ์ ๊ฒฝ์ฐ)
ResultSet ์ ๋
ผ๋ฆฌ์ ์ปค์ ์ด๋์ ํตํด ๊ฐ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ธ๋ฉํด ์จ๋ค.
boolean b = rs.next();
-> ์ปค์์ด๋.
์ปค์๊ฐ ์์นํ ์ง์ ์ ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ฉด true ๋ฅผ ๋ฐํ, ์์ผ๋ฉด false ๋ฅผ ๋ฐํ
์ปค์๋ ๊ฐ์ฅ ์ ๋ ์ฒซ ๋ฒ์งธ ๋ ์ฝ๋์ ์ง์ ์ ์์นํ๊ณ ์๋ค๊ฐ
<next()>๊ฐ ํธ์ถ๋๋ฉด ์งํํ๋ค.
6. ์ฌ์ฉ์ ๋ง์น ๋ฆฌ์์ค ๋ฐ๋ฉ
rs.colse(); -> ResultSet ์ฌ์ฉํ์ ๊ฒฝ์ฐ.
stmt.close(); -> Statement ์ฌ์ฉํ์ ๊ฒฝ์ฐ.
DBConn.close(); -> null ์ฒดํฌํ์ฌ close() ํด ์ฃผ๋ ๊ฑฐ์ ๊ถ์ฅ. finally ๋ธ๋ญ์์ ๊ตฌํํ๋ ๊ฒ์ ๊ถ์ฅ.
** [๊ด์ฐ] (1) ์ํต๋: Connection
์ฑ์์ฅ -------------------------------------- ์ธ๋ถ๋ค(๊ด๋ถ๋ค)
์ํ,๊ตฌ๋ฆฌ ๋ฌ๋ผ๋ ์ชฝ์ง
(2) ๋ฐ๊ตฌ๋ : Statement
(3) ๋ฐ๊ตฌ๋์์ ์๋ ์ธ๋ถ:
ใด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์๋ค๊ณ ํด์ connection์ ๋์ด๋ฒ๋ฆฌ๋ฉด ์๋จ