createStatement

createstatement static parsing 으로 sql문을 parsing 할 때 입력된 해당 값을 sql문에 binding하여 같이 parsing 하여 실행한다

static parsing sql문과 입력된 값을 함께 파싱 하므로 한번 parsing sql문을 다른 데이터를 입력하여 사용 할 수 없어 해당 서비스에 사용자 수가 많은 경우 메모리 full이 발생할 수 있다

createStatement사용시 Statement를 사용하여 sql문에 필요한 데이터를 입력 받고 실행시 발생한 데이터를 ResultSet 에 저장한다

장점 : 가볍다

단점 : parsing sql문 사용시 입력된 값이 다를 경우 재사용할 수 없으며 자원의 낭비가 발생할 수 있다

사용법

Statement stmt = con.createStatement();

String sql = "insert into member(id, pwd, title, content)”
                     +”values('33','1111','
제목','내용')";

int result = stmt.executeUpdate(sql);

 


 

preparedStatement

prepareStatement dynamic parsing으로 sql문을 parsing한 후 입력된 해당 값을 parsing sql문에 binding하여 실행한다.

dynamic parsing sql문을 먼저 parsing하여 입력되는 값이 여러개 일 경우 sql문을 여러번 parsing하지 않고 parsing sql문에 원하는 값을 binding하여 사용하므로 자원의 낭비가 적다.

prepareStatement사용 시 PreparedStatement를 사용하여 sql문에 필요한 데이터를 입력 받고 실행 시 발생한 데이터를 ResultSet에 저장한다.

장점 : 값의 binding없이 sql문 만을 parsing하므로 parsing sql문의 재사용이 용의하여 자원이 낭비으며 인젝션으로 인한 피해를 줄일 수 있다.

단점 : 무겁다.

 

pstmt = con.prepareStatement("select b_name, b_title, b_content from board where                                             b_id=?");
pstmt.setString(1, id);
rs = pstmt.executeQuery();

 


callableStatement

callableStatement SQL의 스토어드 프로시저를 실행시키기 위해 사용되는 인터페이스

스토어드프로시저란 query문을 하나의 파일형태로 만들거나 데이터베이스에 저장해 놓고 함수처럼 호출해서 사용 하는 것이다 이것을 이용하면 연속되는 query문에 대해서 매우 빠른 성능을 보인다

장점 : 자바코드에 쿼리문이 들어가지 않아 보다 간결해진다

단점 : 저장프로시져에서 선언한 순서대로 파라미터를 넘겨야 한다

 

 

 

 

'개발개발 > JSP&스트럿츠' 카테고리의 다른 글

jsp:useBean  (0) 2013.12.17
Struts logic 커스텀 태그  (0) 2012.09.04
GET/POST 방식 차이점  (0) 2012.09.03
Posted by 공돌공돌
,