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값이 에 전달됩니다.setXXXmethod(Java 객체를 인수로 사용하는 경우).방법setObject단, 에서는nullJDBC 타입은 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 |