PreparedStatement 을 이용한 insert 예제
import java.sql.*;
public class PreInsertSQLTest {
public static void main(String[] args) {
Connection con = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
// 사용할 드라이버 로드한다.
con = DriverManager.getConnection
("jdbc:oracle:thin:@127.0.0.1:1521:xe","scott","tiger");
System.out.println("정상적으로 연결 되었습니다. ");
/**
* Scott 계정의 emp 테이블의
* EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO 컬럼 INSERT
* 명령형 매개변수 입력 : 7개
* 4001 김길동 clerk 2000 sysdate 15000 500 20
*/
// SQL 생성 (JDBC DRIVER ';' 자동 삽입
// StringBuffer = append 메소드 대신 사용해도 됨.
String insertsql = "insert into emp values(?,?,?,sysdate,?,?,?,?)";
PreparedStatement st = con.prepareStatement(insertsql);
// SQL 전송, sql 구문 분석, 컴파일, 임시저장
// sql 문 반복 실행
// 입력 파라미터(매개변수) 값 설정
st.setInt(1,Integer.parseInt(args[0]));
st.setString(2,args[1]);
st.setString(3,args[2]);
st.setInt(4,Integer.parseInt(args[3]));
st.setDouble(5,Double.parseDouble(args[4]));
st.setDouble(6,Double.parseDouble(args[5]));
st.setInt(7,Integer.parseInt(args[6]));
// 명령형 매개변수 7개 입력
// 배열 ArrayList ; 인덱스 0 부터
// jdbc 컬럼, ? 인덱스 1 부터
con.close();
System.out.println("정상적으로 연결해제 되었습니다.");
}catch(ClassNotFoundException e){
System.out.println ("jdbc 드라이버 미등록이거나 이름 오류입니다.");
}catch(SQLException e){
e.printStackTrace();
System.out.println("연결정보 오류");
}finally{
try{
if(!con.isClosed()) con.close();
}catch(SQLException e){
System.out.println("finally 오류");
}
}
}
}
결과 개인확인