1. prepareStatement
- PrepareStatement 객체는 Connection 객체의 PrepareStatement() 메소드를 사용해서 생성
- SQL 문장이 미리 컴파일되고, 실행시간동안 인수값을 위한 공간을 확보할 수 있다는 점에서 Statement 객체와는 다름
- 동일한 질의문을 특정 값만 바꾸어서 여러번 실행해야 할 때, 많은 데이터를 다루기 때문에 질의문을 정리해야 할 필요가 있을때
인수가 많아서 질의문을 정리해야 할 필요가 있을 때 사용하면 유용하다.
- statement 객체의 SQL은 실행될 때 매번 서버에서 분석되어야 하는 반면, PrepareStatement 객체는 한번 분석되면 재사용이 용이합니다.
- 각각의 인수에 대해 위치홀더(placeholder)를 사용하여 SQL 문장을 정의할 수 있게 해줍니다.
- 위치홀더는 물음표로 표현됩니다.
- 반드시 trycatch문 사용필요, 또는 throws 처리 해야한다.
try{
String sql ="insert into member values(?,?,?,?)";
pstmt =conn.PrepareStatement(SQL);
pstmt.setString(1,id);
pstmt,setString(2,passwd);
}catch(SQLExeption e){
}
Statement 객체와 PrepareStatement 객체 중에 무엇을 사용하는 것이 좋은가는 PreparedStatement 객체이다.
동일한 질의문 특정 값만 바꾸어서 여러번 실행해야 할때, 많은 데이터를 다루기 때문에 질의문을 정리해야할 필요가 있을 때
인수가 많아서 질의문을 정리해야 할 필요가 있을 때 좋다.
미리 컴파일되기 때문에 쿼리의 수행속도가 Statement 객체에 비해 빠름
Statement 객체는 쿼리 실행시 작은 따옴표가 들어있으면 작은 따옴표를 두개로 표시해야한다.
그러나 PreparedStatement 객체는 작은 따옴표의 문제를 쿼리 실행시 자동으로 처리하므로 신경 쓸 필요없다.
'BackEnd FrontEnd > JAVA' 카테고리의 다른 글
JAVA8 (0) | 2017.10.24 |
---|---|
Reflection이란 (0) | 2017.09.27 |
HashMap (0) | 2017.08.02 |
Java에서 syntax error on token identifier expected after this token 대처 방법 출처: http://belitino.tistory.com/186 [belitino] (0) | 2017.07.23 |
접근제한 (0) | 2017.07.20 |