[์Šคํ”„๋ง DB 1ํŽธ] - 7. ์Šคํ”„๋ง๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ - ํŠธ๋žœ์žญ์…˜

2023. 3. 21. 11:34ยทSpring/Spring DB

 

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ

 

์‹œ๊ฐ„์ด ํ˜๋Ÿฌ์„œ UI(์›น)์™€ ๊ด€๋ จ๋œ ๋ถ€๋ถ„์ด ๋ณ€ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ธฐ์ˆ ์„ ๋‹ค๋ฅธ ๊ธฐ์ˆ ๋กœ ๋ณ€๊ฒฝํ•ด๋„,

 

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์ตœ๋Œ€ํ•œ ๋ณ€๊ฒฝ์—†์ด ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค.


์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์„œ๋น„์Šค ๊ณ„์ธต์„ ํŠน์ • ๊ธฐ์ˆ ์— ์ข…์†์ ์ด์ง€ ์•Š๊ฒŒ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๊ณ„์ธต์„ ๋‚˜๋ˆˆ ์ด์œ ๋„ ์„œ๋น„์Šค ๊ณ„์ธต์„ ์ตœ๋Œ€ํ•œ ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด ํฌ๋‹ค.

 

 

 

์˜ˆ๋ฅผ ๋“ค์–ด์„œ JDBC๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ JPA ๋กœ ๋ณ€๊ฒฝํ•ด๋„ ์„œ๋น„์Šค ๊ณ„์ธต์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

 

๋ฌผ๋ก  ์„œ๋น„์Šค ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ณ„์ธต์„ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,

 

์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์„œ๋น„์Šค ๊ณ„์ธต์€ ์ด ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

๊ทธ๋ž˜์•ผ ์„œ๋น„์Šค ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์—†์ด JdbcRepository ๋ฅผ JpaRepository ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ •๋ฆฌํ•˜์ž๋ฉด ์„œ๋น„์Šค ๊ณ„์ธต์€ ๊ฐ€๊ธ‰์  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋งŒ ๊ตฌํ˜„ํ•˜๊ณ  ํŠน์ • ๊ตฌํ˜„ ๊ธฐ์ˆ ์— ์ง์ ‘ ์˜์กดํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ–ฅํ›„ ๊ตฌํ˜„ ๊ธฐ์ˆ ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ๋ณ€๊ฒฝ์˜ ์˜ํ–ฅ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

ํŠธ๋žœ์žญ์…˜์„ ์ ์šฉํ•œ MemberServiceV2 ์ฝ”๋“œ

public void accountTransfer(String fromId, String toId, int money) throws
        SQLException {
    Connection con = dataSource.getConnection();
    try {
        con.setAutoCommit(false); //ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘ //๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง
        bizLogic(con, fromId, toId, money); con.commit(); //์„ฑ๊ณต์‹œ ์ปค๋ฐ‹
    } catch (Exception e) { con.rollback(); //์‹คํŒจ์‹œ ๋กค๋ฐฑ
        throw new IllegalStateException(e);
    } finally {
        release(con);
    }
}

 

๋ฌธ์ œ์ ๋“ค

 

javax.sql.DataSource , java.sql.Connection , java.sql.SQLException 

 

ํŠธ๋žœ์žญ์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด JDBC ๊ธฐ์ˆ ์— ์˜์กดํ•œ๋‹ค.

 

๊ฒฐ๊ณผ์ ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋ณด๋‹ค JDBC๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋” ๋งŽ๋‹ค.

 

๊ฐ™์€ ํŠธ๋žœ์žญ์…˜์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ฅ์…˜์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค.

 

์œ ์‚ฌํ•œ ์ฝ”๋“œ์˜ ๋ฐ˜๋ณต์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค.  /   try , catch , finally ...

 

 

 

 ์Šคํ”„๋ง์€ ์„œ๋น„์Šค ๊ณ„์ธต์„ ์ˆœ์ˆ˜ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ, ์ง€๊ธˆ๊นŒ์ง€ ์ด์•ผ๊ธฐํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๊ธฐ์ˆ ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

 

 

 

 

ํŠธ๋žœ์žญ์…˜ ์ถ”์ƒํ™”

 

 

 

 

 

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Spring > Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์Šคํ”„๋ง DB 1ํŽธ] - 9. ํŠธ๋žœ์žญ์…˜ ํ…œํ”Œ๋ฆฟ  (0) 2023.03.25
[์Šคํ”„๋ง DB 1ํŽธ] - 8. ํŠธ๋žœ์žญ์…˜ ์ถ”์ƒํ™”  (2) 2023.03.24
[์Šคํ”„๋ง DB 1ํŽธ] - 6. DB ๋ฝ  (0) 2023.03.19
[์Šคํ”„๋ง DB 1ํŽธ] - 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ DB ์„ธ์…˜  (0) 2023.03.15
[์Šคํ”„๋ง DB 1ํŽธ] - 4. ํŠธ๋žœ์žญ์…˜  (0) 2023.03.15
'Spring/Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์Šคํ”„๋ง DB 1ํŽธ] - 9. ํŠธ๋žœ์žญ์…˜ ํ…œํ”Œ๋ฆฟ
  • [์Šคํ”„๋ง DB 1ํŽธ] - 8. ํŠธ๋žœ์žญ์…˜ ์ถ”์ƒํ™”
  • [์Šคํ”„๋ง DB 1ํŽธ] - 6. DB ๋ฝ
  • [์Šคํ”„๋ง DB 1ํŽธ] - 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ DB ์„ธ์…˜
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
[์Šคํ”„๋ง DB 1ํŽธ] - 7. ์Šคํ”„๋ง๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ - ํŠธ๋žœ์žญ์…˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”