我是 Java 中 PreparedStatement 的新手,我似乎无法找到解决问题的最佳解决方案。我想查询表中为 NULL 或 NOT NULL 的记录。
在阅读PreparedStatement (Java Platform SE 6)时,我意识到我需要使用setNull方法,但是我没有看到设置 NOT NULL 的方法?
例如:
SELECT * FROM table WHERE column IS NULL
我假设我会做的是:
public void query(boolean getNull) {
String querySql = "SELECT * FROM table WHERE column IS ?";
sqlStatement = connection.prepareStatement(querySql);
if(getNull)
sqlStatement.setNull(1, Types.VARCHAR);
else
???;
}
但是我将如何做 else 语句?没有 setNotNull 方法。我想我可以这样做:
public void query(boolean getNull) {
String querySql = "SELECT * FROM table WHERE column IS ? NULL";
sqlStatement = connection.prepareStatement(querySql);
sqlStatement.setString(1, (getNull ? "" : "NOT"));
}
但这似乎很“骇人听闻”。有没有更好的方法来做到这一点?
谢谢