본문 바로가기

JSP

Statement와 PreparedStatement

○ Statement

Statement란 실제 데이터베이스에 SQL문을 보내기 위해 필요한 객체이다
삽입, 수정, 삭제, 검색을 처리하는 DML문을 사용할 때는 이 인터페이스를 사용한다

이 객체는 Connection 객체의 연결 정보를 가져와서 DB에 접근하므로
이 객체를 사용하기 위해서는 접속 상태인 Connection 객체가 먼저 존재해야 한다


■ Statement 객체에서 자주 사용하는 메소드
  • executeQuery(SQL) : SELECT문을 실행할 때 사용한다. ResultSet 객체를 반환한다
  • executeUpdate(SQL) : 삽입, 수정, 삭제와 같은 SQL문을 실행할 때 사용한다. 적용된 행 수를 반환한다
  • close() : Statement 객체를 반환할 때 사용한다

○ PreparedStatement

PreparedStatement 객체가 하는 일은 Statement 객체와 비슷하다
PreparedStatement 인터페이스가 Statement 인터페이스를 상속받기 때문이다


Statement와 같이 레코드 조작 및 검색 쿼리를 위한 SQL문을 전달하기 위해 쓰인다
하지만 PreparedStatement를 이용하게 되면 값 매핑을 사용하여 Statement 인터페이스보다 편리하게 SQL문을 전송할 수 있다
(sql문에 ?를 사용하여 set...()을 사용해 해당되는 ?에 값을 매핑한다)


Connection con = null;
PreparedStatement pstmt = null;
String sql = "SELECT * FROM table WHERE name LIKE ?";

pstmt = con.prepareStatement(sql);
pstmt.setString(1, name);

첫번째 물음표에 name 값을 삽입한다. ?가 여러 개일 때는 위치에 따라 순번을 매겨 값을 매핑한다

'JSP' 카테고리의 다른 글

JSTL(JSP Standard Tag Library)  (0) 2020.07.10
Expression Language(표현 언어)  (0) 2020.07.09
Connection Pool  (0) 2020.07.08
JDBC 프로그래밍  (0) 2020.07.06
Session과 Cookie  (0) 2020.07.04