π‘ νΈλμμ
μ¬λ¬ κ°μ μμ λ€μ νλμ μμ μ²λΌ μ²λ¦¬ν΄μΌ λλ κ²½μ° μ΄μ©λλ€. νλ μ΄μμ DMLμ΄ λͺ¨μ¬ νλμ νΈλμμ μΌλ‘ ꡬμ±νλ€.
JDBCμμ λͺ¨λ DML μμ
μ΄ μλμΌλ‘ auto commit
λλ€. νμ§λ§ νΈλμμ
μΌλ‘ μ²λ¦¬ν΄μΌλ§ νλ μμ
μμλ λͺ
μμ μΌλ‘ auto commitμ λΉνμ±νν ν μμ
ν΄μΌ νλ€.
Service ν΄λμ€μμ Connection APIμ setAutoCommit()
λ©μλλ₯Ό μ΄μ©νμ¬ μλ commitμ λΉνμ±ν μν€κ³ μ΄ ν commit()
rollback()
λ©μλλ₯Ό μ¬μ©νμ¬ νΈλμμ
μ μ²λ¦¬ν μ μλ€. λ©μλκ° λͺ¨λ μ±κ³΅νλ©΄ commit()
, λ§μ½ νλλΌλ μμΈκ° λ°μνλ©΄ rollback()
μΌλ‘ μ²λ¦¬νλ€.
// update , delete κΈ°λ₯ => νΈλμμ
μ²λ¦¬
@Override
public int updateAndDelete(DeptDTO dto, int deptno) {
int n = 0;
Connection con = null;
try {
con = DriverManager.getConnection(url, userid, passwd);
DeptDAO dao = new DeptDAO();
con.setAutoCommit(false); // μλ commit λΉνμ±ν
// μμ DAO μ°λ
n = dao.update(con, dto);
// μμ DAO μ°λ
n = dao.delete(con, deptno);
con.commit(); // λ λ€ μ±κ³΅ μ commit
} catch (SQLException e) {
try {
if(con != null)
con.rollback(); // νλλΌλ μμΈ λ°μ μ rollback
} catch(SQLException e2) {
e2.printStackTrace();
}
}
return n;
}
[JDBC] DAO λ° DTO ν¨ν΄ μ¬μ© μ€μ΅
μ΄μ κΈ μ°Έκ³ νμ β¨ [JDBC] DAO ν¨ν΄ λ° DTO ν¨ν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ°λνλ νλ‘κ·Έλ¨μ κ°λ°ν λ λ°λμ μ¬μ©λλ 2κ°μ§ κ°λ° ν¨ν΄μ΄ μλ€. DAO (Data Access Object) ν¨ν΄ DBμ λ°μ΄ν°μ μ κ·ΌνκΈ° μν
gangintheremark.tistory.com
'Framework & Library > JDBC' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JDBC] DAO λ° DTO ν¨ν΄ μ¬μ© μ€μ΅ (1) | 2023.08.03 |
---|---|
[JDBC] DAO ν¨ν΄ λ° DTO ν¨ν΄ (0) | 2023.08.02 |
[JDBC] INSERTλ¬Έ/UPDATEλ¬Έ/DELETEλ¬Έ μμ² (0) | 2023.08.01 |
[JDBC] JDBC μ€ν μμ μ 리 βοΈ - SELECTλ¬Έ μμ² (0) | 2023.08.01 |