반응형
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 |
Tags
- 리눅스세팅
- first-of-child
- 리눅스셋팅
- Linux세팅
- Linux셋팅
- first-child
- isinterrupted()
- StringReader
- ThreadGroup()
- include지시자
- InputDialog
- 아이디중복
- sleep()메소드
- String char[] 형변환
- 표현 언어
- interrupt()
- interrupted()
- 메모리스트림
- 상관 서브 쿼리
- MemoryStream
- StringWriter
- 동기화
- ObjectInputStream
- char[] String 형변환
- Daemon()
- include액션태그
- include 지시자
- ID중복
- 스레드그룸
- 상관서브쿼리
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