2011-03-13 1 views
1

내 프로젝트에서 나는 전달 된 테이블을 기반으로 insert 문을 만들어야한다. 그래서 내가 선호하는 이유를 알고 싶어Matcher.quote Replacement versus preparedstatement

두 가지 옵션 1) PreparedStatement의 쓰기 배치 2에서 실행) .. (테이블 값에 삽입 만들기), (..) (..)가 내가 Matcher.quoteReplacement를 사용하는 경우 (1) 이상 (2)() 값을 사전에

감사를 탈출

답변

3

Matcher.quoteReplacement 당신은 SQL을 피하기 위해 확신 할 수 있도록 SQL 문자열을 인용하는 것은 아니다 그것을 사용하는 삽입. 하지만이 기능을 인용 작업을했다하더라도, 준비된 문은 여전히 ​​여러 가지 이유로 더 나은 것 : 당신은 당신이 바로 가기을 유혹하지 않는 입력을

  • 을 인용 잊어 대해 걱정할 필요가 없습니다

    • 하지 인용은 당신이 "알고"값 안전
    • 성능 향상의 코드를 더 읽기 얻을
    • 에게 (IMHO)
    을주는 다른 매개 변수와 유사한 SQL 쿼리를 구문 분석을 방지하기 위해 실행 계획을 캐시 할 수 있습니다 데이터베이스