私はSQL列を持っていますPROTOCOL
。それはNULL可能で、テーブルに制約があります
PROTOCOL IN (1, 2, 3)
また、nullableなので、null値をテーブルに設定して取得したい
setInt
しかし、私はできませんgetInt
。JDBCを使用してnullを列にnullとして設定する方法
setInt(4,null);
使ってみてください。
pst.setNull(4, java.sql.Types.INTEGER); //pst is prepared statement instance.
インターフェース PreparedStatement.setNull API
java.sql.Types から SQL 型へのマッピング
PS : Java 8 の更新を反映するように編集されました。
Smitの答えに加えて:
Integer
である可能性のあるデータベースにオブジェクトを挿入する場合null
は、使用できます
statement.setObject(4, yourObject, java.sql.Types.INTEGER);
それ以外の
if (yourObject == null) {
statement.setNull(4, java.sql.Types.INTEGER);
else {
statement.setInt(4, yourObject);
}