Statement


Statement인터페이스는 Connection 객체에 의해 프로그램이 리턴되는 객체에 의해 구현되는

일종의 메소드의 집합을 정의한다.


Statement 객체는 Statement인터페이스를 구현한 객체를 항상 인수가 없는

Connection 클래스의 creatStatement()메소드를 호출함으로 얻어진다


Statement객체를 생성하면 Statement 객체의 executeQuery()메소드를 호출하여

SQL의 질의를 실행시킬수 있다. 메소드 인수는 SQL질의의 문장을 담은 String객체를전달한다

Statement객체는 단순한 질의문을 사용할 경우에 좋다.


PrepareStatement


PrepareStatement객체는 Connection 객체의 PrepareStatement()메소드를 사용하여 생성한다.


SQL문장이 미리 컴파일되고 실행시간동안 인수값을 위한 공간을 확보할수있다는 점에서

Statement 객체와는 차이가있다.


동일한 질의문을 특정 값만 바꾸어서 여러번 실행해야 할때 많은 데이터를 다루기 때문에

질의문을 정리해야 할 필요가 있을때, 인수가많아서 질의문을 정리해야 될 필요가 있을때 사용하면 유용하다.


Statement 객체의 SQL은 실행될때 매번 서버에서 분석되어야 하는 반면 PrepareStatement 객체는

한번 분석되면 재사용이 용이하다.


각각의 인수에 대해 위치홀더(placeholder)를 사용하여 SQL문장을 정의할수있게 해준다

위치홀더는 ? 물음표로 표현된다.


PrepareStatement객체의 장점


동일한 질의문 특정 값만 바꾸어서 여러번 실행해야 할때 많은 데이터를 다루기 때문에

질의문을 리해야 할 필요가있을때,인수가 많아서 질의문을 정리해야될 필요가 있을때 좋다.


미리 컴파일되기 때문에 쿼리의 수행속도가 Statement 객체에 비해 빠르다.


Statement 객체는 쿼리 실행시 ' 작은따옴표가 들어있으면 작은따옴표를 '' 두개로 표시해야한다

그러나 PrepareStatement 객체는 작은따옴표의 문제를 쿼리 실행시 자동으로 처리한다.

'JSP&Servlet' 카테고리의 다른 글

jsp 에서 세션 사용하기  (0) 2017.02.26
jsp 내장변수  (0) 2017.02.26
스크립틀릿/익스프레션/선언부/지시자  (0) 2017.02.26
jsp:useBean  (0) 2017.02.26
jsp 한글인코딩  (0) 2017.02.26

+ Recent posts