๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๊ธฐ +/JDBC

(60)[oracle]2์ผ์ฐจ: โ– JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ˆ์ฐจโ– 

by ์ข…์ด๋นจ๋Œ€ 2023. 11. 20.
TOP

๋ชฉ์ฐจ

    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์„ ๋Š์–ด๋ฒ„๋ฆฌ๋ฉด ์•ˆ๋จ