我已经准备好类似的声明
select * from books where author = ? and theme = ?
而且我不知道该怎么办,如果用户选择选项“任何作者”或“任何主题”,我应该为准备好的语句设置什么?
我根据输入数据使用3个不同的准备好的语句来解决此问题。
SQL语句的哪些部分应该存在,但准备好的语句不会覆盖(除非您有创造力)。通常,解决方案是动态生成where
子句中的条件,例如:
String sql = "select * from books where 1=1";
if (author != null) {
sql += " and author=?";
}