私は自分のデータベースに非常に大きなテーブルを持っています。これらのフィールドの一部はnullになることがあります。使い方から逃げる方法PreparedStatement.setNull?
私はちょうど使用から脱出したい:
PreparedStatement.setNull(index, Type.X)
同様:
if(obj.getSomaData() == null){
insertStmt.setNull(++i, java.sql.Types.VARCHAR);
}else{
insertStmt.setString(++i, obj.getSomaData());
}
これを行うには良いときれいな方法はありますか?
P .:私はPostgreSQLを使用しています。
あなたは 'setNull()'メソッドを使いたくないのですか?データを 'INSERT 'している場合は、デフォルトで' NULL'になるため、NULL値を明示的に設定する必要はありません。 –
私はPostgres JDBCドライバが 'setString(index、null)'をちょうど細かく処理すると思います –
@MickMnemonicこれは、それらのカラムがinsert文に含まれていない場合にのみtrueです。明示的に設定されていない値。 JDBC 4.2の13.2.2節を参照してください。_ "PreparedStatementオブジェクト(' executeQuery'、 'executeUpdate'、' execute')を実行するメソッドは、パラメータマーカーに値が指定されていない場合、 'SQLException'を投げます。 "_ –