모든 app의 시간은 db의 시간을 기준으로 삼는다.
db : 문자열 |
java : 시간 |(date) SimpleDateFormat으로 데이타 변경
모든 화면의 시간은 database 시간으로 봐야 한다.
트랜잭션 :두개의 행위가 묶여서 하나의 행위를 하는것
ex)
스위스 작업
한국 북한 한국--> 북한 송금
|----- 한국 -> 스위스
두개의일--------|
한국에서 북한으로 돈을 송금 |----- 스위스 -> 북한
송금할때 스위스를 거쳐서 송금 .
두개의 일이 묶여서 하나의 송금이라는 작업을 한다.
setAutoCommit 트랜잭션 처리
addBatch connect 한번으로 데이터를 모두 처리한다.
try{
con = getConnection();
// 트랜잭션 시작 .
con.setAutoCommit(false); // autocommit할수 없게 false로 설정
stmt = con.createStatement();
for(int i =0 ; i<arr.length; i++){
stmt.addBatch(arr[i]); // 일괄 처리를 위해 stmt에 하나씩 데이터 삽입.
}
int[] resultArr = stmt.executeBatch(); // 일괄처리.
for(int i =0; i<resultArr.length; i ++){
if(resultArr[i]<1){ // 예외처리한다.
throw new Exception("ERROR");
}
}
con.commit(); // 성공 했을때 .. commit
con.setAutoCommit(true); // 다시 원상 복귀 한다.
}catch(Exception e){
e.printStackTrace();
try{
con.rollback();
}catch(Exception le){}
}finally{
close(null,stmt,con);
}
addBatch ----
|
executeBatch ----