insert문 = 처리된 행수 (int) => 트랜잭션 처리
예시) 내 PC(localhost) DB상 JDBC계정에 있는 TEST 테이블에 INSERT하기
//실행 결과를 보관할 변수
int result = 0;
//JDBC 과정중에 필요한 객체
Connection conn = null;
Statement stmt = null;
-실행할 sql문 변수에 담기
String sql = "INSERT INTO TEST VALUES(SEQ_TESTNO.NEXTVAL,'테스트4',SYSDATE)";
-> 사용자로 부터 입력받은 값 insert하고자할때
Scanner sc = new Scanner(System.in);
System.out.print("추가하고자하는 이름 입력 : ");
String name = sc.nextLine();
String sql = "INSERT INTO TEST VALUES(SEQ_TESTNO.NEXTVAL, '"+ name +"', SYSDATE)";
// 문자열은 반드시 ''홑따옴표 안에 들어가야함
>> TNO는 시퀀스를 이용하여 겹치치않는 번호 자동 생성
try {
//1) jdbc driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver");
//2) Connection 생성 == DB 접속
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","JDBC","JDBC");
//3) sql 실행을 위한 Statement생성
stmt = conn.createStatement();
//4,5)sql문 실행 및 결과 받기
result = stmt.executeUpdate(sql);
//6) 트랜잭션처리
if(result > 0) {
conn.commit();
}else {
conn.rollback();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//7) 다 쓴 자원 반납
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(result >0) {
System.out.println("성공적으로 추가되었습니다.");
}else {
System.out.println("추가하는데 실패했습니다.");
}
}
}
>> insert 결과
'JDBC' 카테고리의 다른 글
JDBC 01 _ delete문 (0) | 2022.11.30 |
---|---|
JDBC 01 _ update문 (0) | 2022.11.30 |
JDBC 01 _ 여러행 select문 조회 (0) | 2022.11.30 |
JDBC 01 _ 단일행 select문 조회 (0) | 2022.11.29 |
JDBC 01 _ Basic (0) | 2022.11.29 |