*Java에서 INSERT, UPDATE , DELETE 등 DML을 구현한다

*SELECT 할때 와 다르게 PrepareStatement 객체를 사용한다.

 

*PrepareStatement :

1. SQL이 담기면 바로 전송하는 것이 아닌 준비가 완료된 후 전달해 결과를 받아옴

2. SQL 구문에 ?로 빈칸을 만들어 추후 메서드로 채워넣고 전송하는 방식

3. SQL 구문에 자바 변수를 합칠 수 있어 간단하게 작성이 가능해진다.

4. 다만 Statement보다 코드 길이가 길어지는 단점이 있다.

5. PrepareStatement 를 사용하면 결과가 int로 쿼리로 반영된 갯수 반환이 생긴다.

Connection conn = null;
PrepareStatement pstmt = null;
int result = 0;
String sql = " SQL구문 작성 + ? ? ? " ;
try{
	Driver.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection( url, 아이디, 비밀번호);
    //url : "jdbc:oracle:thin:@주소:버젼"
    pstmt = conn.prepareStatement( sql );
    pstmt.setString(1, 값1); //첫번째 ?자리에 값1 대입
    pstmt.setInt(2, 값2); // .....
    pstmt.setInt(3, 값3);
    
    result = pstmt.executeUpdate(); // 값 전부 대입된 후 execute로 실행
    //처리된 갯수가 반환됨
    
    }
catch(ClassNotFoundException e){
	e.printStackTrace();
   }
catch(SQLException e){
	e.printStackTrack;
    }
finally{
	try{
    	if(pstmt!=null) {pstmt.close();}
    	if(conn!=null) {pstmt.close();}
    	}
    	catch(SQLException e){
    	e.printStackTrace();
    	}
	}
    
    return result;

'개발자로 업그레이드 되자 > JDBC' 카테고리의 다른 글

JDBC 정리 (2) JDBC 템플릿  (0) 2021.10.14
JDBC 정리 (0) 연결, SELECT  (0) 2021.10.08

+ Recent posts