본문 바로가기

콩's EDUCATION/콩's JAVA_RUN

insert sql (PreparedStatement )

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 오류");
   }
  }
 }
}

 

결과 개인확인

 

 

PreInsertSQLTest.java