所以我有一个简单的函数来从数据库中返回一些东西。然后我可以通过在WHERE子句中添加不同的参数来修改这个查询。处理这个问题的最优雅和最有效的方法是什么?
例子:
public static getUsers(int id, string username, string email) {
Connection conn = null;
PreparedStatement stmt = null;
String sql = "";
sql = "SELECT * FROM users " .........
这就是我对 where 子句感到困惑的地方。如果我做类似的事情
"WHERE id = ? AND username = ? AND email = ?";
如果我只用一个 ID 调用该方法,而没有用户名或电子邮件,会发生什么?它会破裂,我不能让这种情况发生。
此外,管理我的索引变得很困难,因为如果我会做类似的事情stmt.setInt(1, id)
,但如果我只想用用户名调用该方法,并且该 id 将作为 null 出现,不会抛出 NPE?
我对Java有点陌生,抱歉......但我想我应该使用覆盖?我应该在条件语句中构建 where 子句吗?任何帮助,将不胜感激。
谢谢