PreparedStatement setNull (..)
Java PreparedStatement는 Null 값을 명시 적으로 설정할 수있는 가능성을 제공합니다. 이 가능성은 다음과 같습니다.
prepStmt.setNull(parameterIndex, Types.VARCHAR);
이 호출의 의미는 널 매개 변수와 함께 특정 setType을 사용할 때와 동일합니까?
prepStmt.setString(null);
?
이 가이드 는 다음과 같이 말합니다.
6.1.5 JDBC NULL을 IN 매개 변수로 보내기
setNull 메서드를 사용하면 프로그래머가 JDBC NULL (일반 SQL NULL) 값을 IN 매개 변수로 데이터베이스에 보낼 수 있습니다. 그러나 매개 변수의 JDBC 유형을 지정해야합니다.
Java null 값이 setXXX 메서드에 전달 될 때 JDBC NULL도 데이터베이스로 전송됩니다 (Java 개체를 인수로 사용하는 경우). 그러나 setObject 메소드는 JDBC 유형이 지정된 경우에만 널값을 가질 수 있습니다.
그렇습니다. 그들은 동등합니다.
근데 이거 조심해 ....
Long nullLong = null;
preparedStatement.setLong( nullLong );
-null 포인터 예외 발생-
프로토 타입이
setLong( long )
아니
setLong( Long )
당신을 잡을 좋은 사람 eh.
마지막으로 작은 테스트를 수행했고 프로그래밍하는 동안 setNull (..) 메서드가 없으면 Java 기본 요소에 대해 null 값을 설정할 방법이 없다는 생각이 들었습니다. 객체의 경우 양방향
setNull(..)
과
set<ClassName>(.., null))
같은 방식으로 행동합니다.
사용을 고려할 수도 있습니다. preparedStatement.setObject(index,value,type);
참고 URL : https://stackoverflow.com/questions/1357429/preparedstatement-setnull
'programing' 카테고리의 다른 글
docker ubuntu / bin / sh : 1 : locale-gen : 찾을 수 없음 (0) | 2020.10.14 |
---|---|
실행중인 PowerShell 스크립트에서 모든 환경 변수 표시 (0) | 2020.10.14 |
추상 클래스는 언제 사용합니까? (0) | 2020.10.14 |
(왜) 초기화되지 않은 변수 정의되지 않은 동작을 사용하고 있습니까? (0) | 2020.10.14 |
Go의 ToString () 함수 (0) | 2020.10.14 |