반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- String char[] 형변환
- char[] String 형변환
- 표현 언어
- 리눅스셋팅
- 메모리스트림
- include액션태그
- InputDialog
- first-child
- ObjectInputStream
- sleep()메소드
- ID중복
- StringReader
- 동기화
- interrupted()
- isinterrupted()
- Linux셋팅
- MemoryStream
- 상관 서브 쿼리
- StringWriter
- 리눅스세팅
- interrupt()
- 스레드그룸
- include 지시자
- ThreadGroup()
- include지시자
- Daemon()
- 상관서브쿼리
- 아이디중복
- first-of-child
- Linux세팅
Archives
- Today
- Total
다연이네
[days06] 자바에서 트랜잭션 처리 본문
반응형
package days06;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import com.util.DBConn;
public class Ex04 {
public static void main(String[] args) {
//
String sql ="{call UP_INSERTDEPT(?,?,?) }";
Connection con = null;
CallableStatement cstmt = null;
con = DBConn.getConnection();
try {
// 자동으로 커밋하는 설정을 수정
con.setAutoCommit(false);
cstmt = con.prepareCall(sql);
//(?,?,?)
cstmt.setInt(1,90);
cstmt.setString(2,"QC");
cstmt.setString(3,"SEOUL");
int rowCount = cstmt.executeUpdate();
if( rowCount == 1 ) {
System.out.println("1. 부서 추가 완료");
}//
//복붙한거
cstmt = con.prepareCall(sql);
//(?,?,?)
cstmt.setInt(1,90); //오류.. pk제약조건 중복..(pk가 같아서 이거는 추가가 안됨 )
cstmt.setString(2,"QC2");
cstmt.setString(3,"POHANG");
rowCount = cstmt.executeUpdate();
if( rowCount == 1 ) {
System.out.println("2. 부서 추가 완료");
}//
con.commit(); //커밋
} catch (SQLException e) {
e.printStackTrace();
try {
con.rollback();//롤백
} catch (SQLException e1) {
e1.printStackTrace();
}
}finally {
try {
cstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
DBConn.close();
}//main
}//class
QC든 QC2 안들어가진다. => 같이 롤백 됨
반응형
'JDBC' 카테고리의 다른 글
[days06] 회원 가입 - ID 중복 체크 버튼 테스트 (0) | 2020.11.30 |
---|---|
[days06] 부서번호를 입력받아 해당 사원 정보 출력하기 (0) | 2020.11.30 |
[days05] 저장 프로시저 (stored procedure)를 사용하는 CallableStatement 예제 (0) | 2020.11.29 |
[days05] ResultSet 결과물에 대한 정보 추출, 사용 예제, ResultSetMetaData (0) | 2020.11.29 |
[days04] 게시판 만들기 (0) | 2020.11.26 |
Comments