典型情况:我们有一些类型为空的列,Integer
它可能是两者null
或某个int
值。所以我们使用以下内容:
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);
}
但对我来说,这种情况是一种不好的做法 - 在内部 void 方法中更改外部对象(参考罗伯特马丁的“清洁代码”第 17 章:气味和启发式,函数,F2)。我尽量避免这种情况,但这一次我找不到更好的解决方案。也许有人可以帮我一个?