트랜잭션
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.
- >작업처리의 단위
Connection conn = null;PreparedStatement prstmt=null ; // 트랜젝션String idValue = request.getParameter("id");// 드라이버는 서블릿 init 을 이용하여 해결try{String url ="jdbc:oracle:thin:@localhost:1521:orcl";conn = DriverManager.getConnection(url,"test","test");// 연결conn.setAutoCommit(false); // -> 메소드는 실행하지만 commit은 나중에 하겠다 .int id = Integer.parseInt(idValue);//Statement stmt; // 기본 stmt//CallableStatement calstmt; // 프로시저일때 사용//PreparedStatement prstmt; // 트랜젝션String sql ="insert into item values(?,?)";prstmt = conn.prepareStatement(sql);prstmt.setInt(1, id);prstmt.setString(2,"상품이름"+id);prstmt.executeUpdate();conn.commit(); // 커밋 완료 -> rollback 불가}catch(Exception e){conn.rollback(); // commit전에 오류가 나기 떄문에 rollback 가능}finally{ // 완전이 끝나면 모두 close 해준다 .conn.close();prstmt.close();}