典型情況:我們有一些類型爲Integer
的可爲空的列,它可能是null
或某些int
值。因此,我們使用以下命令:將null設置爲PreparedStatement
private static void setIntOrNull(PreparedStatement stmt, int col, Integer i)
throws SQLException
{
if (i == null)
stmt.setNull(col, java.sql.Types.INTEGER);
else
stmt.setInt(col, i);
}
但對於我這種情況是怎麼樣的壞習慣 - 到內部空隙更改方法中的外部對象(reffering到Robert Martin's "Clean Code"第17章:氣味和啓發,功能,F2)。我儘量避免這種情況,但是這次我找不到更好的解決方案。也許有人可以幫我一個嗎?
+1。我從來沒有理解爲什麼PreparedStatement中沒有'setInteger(int position,Integer valueOrNull)'方法。爲什麼ResultSet中沒有'Integer getNullableInteger(int position)'。 –