*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 |