JDBC ReadyStatement에 매개변수 전달
Java 프로그램에 대한 유효성 검사 클래스를 생성하려면 데이터베이스 쿼리가 포함되는 경우가 많습니다. 다음 코드는 매개변수가 있는 preparedStatement를 사용하여 테이블에서 특정 행을 선택하려고 시도합니다.
public class Validation { // ... public Validation(String userID) { try { // ... statement = con.prepareStatement( "SELECT * from employee WHERE userID = " + "''" + userID); // ... } catch (Exception ex) { // ... } } // ... }
그러나 SQL 문 형식이 올바르지 않기 때문에 이 코드가 작동하지 않을 수 있습니다.
해결책:
PreparedStatement에 매개변수를 올바르게 전달하려면 setString()을 사용하세요. 메소드:
statement = con.prepareStatement("SELECT * from employee WHERE userID = ?"); statement.setString(1, userID);
이 메소드는 첫 번째 매개변수(?)의 값을 지정된 사용자 ID로 설정합니다. 명령문의 형식이 올바른지 확인하고 쿼리에 악성 SQL 코드가 삽입될 때 발생하는 보안 취약점인 SQL 삽입을 방지합니다.
PreparedStatements 사용에 대한 자세한 내용은 Java 자습서를 참조하세요.
위 내용은 JDBC ReadyStatement에 매개변수를 안전하게 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!