我有一个列列表来检查null并将它们插入db。 我知道如果/其他很简单。
if (lvl1.equalsIgnoreCase("NULL")) {
stmt.setNull(2, java.sql.Types.INTEGER);
} else {
stmt.setString(2, lvl1);
}
但至少有10列要写这个,我希望有更简单的单行代码为每列做更多。
是否有任何递归方法可以使这更简单?
是否有任何单行代码可以确定列值并分配.set
方法.setNull()
还是.setString()
?
也许像lvl1.setCheckNull(String)
这样的东西意味着如果为空则检查为空,然后.setNull()
然后.setString()
。
答案 0 :(得分:0)
您可以编写自己的方法,如
public void setString(PreparedStatement ps, int parameterIndex, String str) throws SQLException
{
if(str.equalsIgnoreCase("NULL"))
ps.setNull(parameterIndex, java.sql.Types.INTEGER);
else
ps.setString(parameterIndex, str);
}
然后像
一样使用它setString(preparedStatement, 2, stringToCheck);
setString(preparedStatement, 3, string2ToCheck);
依此类推,对于你的10列。