Prepared Statement set Null(..)
Java Prepared Statement는 Null 값을 명확하게 설정할 수 있습니다.이 가능성은 다음과 같습니다.
prepStmt.setNull(parameterIndex, Types.VARCHAR);
이 호출의 의미는 특정 setType을 null 파라미터와 함께 사용하는 경우와 같습니까?
prepStmt.setString(null);
?
하지만 이것만은 조심해요...
Long nullLong = null;
preparedStatement.setLong( nullLong );
-늘 포인터 예외를 나타냅니다.
왜냐하면 프로타입은
setLong( long )
것은 아니다.
setLong( Long )
잘 찾아오셨네요
이 가이드에는 다음과 같이 기재되어 있습니다.
6.1.5 IN 파라미터로서 JDBC NULL을 송신
그
setNull
메서드는 프로그래머가 JDBC를 전송할 수 있도록 합니다.NULL
(일반 SQL)NULL
) 값을 IN 파라미터로 데이터베이스에 지정합니다.단, 파라미터의 JDBC 유형을 지정해야 합니다.A JDBC
NULL
또한 Java가 데이터베이스로 전송됩니다.null
값이 에 전달됩니다.setXXX
method(Java 객체를 인수로 사용하는 경우).방법setObject
단, 에서는null
JDBC 타입은 JDBC 타입이 지정되어 있는 경우만.
그래, 그들은 동등해.
마지막으로 작은 테스트를 실시했습니다.프로그래밍 중에 set Null(..) 메서드가 없으면 Java 프리미티브의 null 값을 설정할 수 없다는 생각이 들었습니다.객체의 경우 양방향
setNull(..)
그리고.
set<ClassName>(.., null))
똑같이 행동하다
또, 다음의 기능을 사용할 수도 있습니다.preparedStatement.setObject(index,value,type);
preparedStatement.setNull(index, java.sql.Types.NULL);
모든 타입에서 사용할 수 있습니다.SQL의 경우 다음과 같이 서버 측에서 장애가 발생할 수 있습니다.
COALESCE(?, CURRENT_TIMESTAMP)
Oracle 18XE
잘못된 유형으로 실패함: 예상됨DATE
,얻었다STRING
--그것은 완전히 유효한 실패입니다.
요점: 전화를 걸면 유형을 알 수 있습니다..setNull()
업데이트: stackoverflow는 여기에 있는 투고에 구두점을 추가 및 삭제하기 위해 편집자를 더 고용해야 합니다.
언급URL : https://stackoverflow.com/questions/1357429/preparedstatement-setnull
'itsource' 카테고리의 다른 글
SQL에서는 백틱과 따옴표를 어디에 사용하고 있습니까? (0) | 2022.10.25 |
---|---|
어레이가 비어 있거나 존재하는지 확인합니다. (0) | 2022.10.15 |
JDBC ResultSet에서 열 수를 가져오려면 어떻게 해야 합니까? (0) | 2022.10.15 |
Visual Studio Code(VSCode)에서 php를 실행 또는 디버깅하는 방법 (0) | 2022.10.15 |
MySQL Select Query - 값의 처음 10자만 가져옵니다. (1) | 2022.10.15 |