将 NULL 插入 setDouble 方法 Java

dea*_*end 2 java oracle

我的代码试图将 NULL 插入 PreparedStatement 中的 setDouble 方法

ps.setDouble(++i, balance.getAmount());
Run Code Online (Sandbox Code Playgroud)

getAmount() 是 Double 字段

我能够处理像

if (balance.getAmount() ==  null ) {
    ps.setNull(++i, java.sql.Types.NULL);
}else{
    ps.setDouble(++i, balance.getAmount());
}
Run Code Online (Sandbox Code Playgroud)

但是我的代码看起来很难看,因为我的代码有很多 setInt setLong setDouble 方法。

有没有办法巧妙地处理或有任何其他方法。请建议我。

小智 5

你可以试试

preparedStatement.setObject(i, balance.getAmount(), java.sql.Types.DOUBLE);
Run Code Online (Sandbox Code Playgroud)

setObject(int parameterIndex, Object x, int targetSqlType)