개발 공부/JAVA
[JAVA] PreparedStatement를 이용한 트랜잭션(Transaction) 처리
sngynhy
2021. 7. 29. 23:31
try {
conn = DriverManager.getConnection(url, user, password);
conn.setAutoCommit(false); // 트랜잭션 처리를 위해서 AutoCommit 중지
// Insert, Update, Delete 등 데이터 처리문 수행
conn.commit(); // 데이터 처리시 에러가 없다면 commit 수행
catch(SQLException e) {
conn.rollback(); // 수행 도중 에러 발생 시 rollback 처리
e.printStackTrace();
} finally {
conn.setAutoCommit(true); // 트랜잭션 처리 기본상태로 되돌리기
if( conn != null ) conn.close();
}
예시)
public void deleteTest(TestVO vo) throws SQLException {
conn = JDBC.getConnection();
try {
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sql_DELETE);
pstmt.setInt(1, vo.getA());
pstmt.executeUpdate();
conn.commit();
} catch (SQLException e) {
conn.rollback();
e.printStackTrace();
} finally {
JDBC.Close(conn, pstmt);
}
System.out.println("deleteTest() 수행완료");
}