我知道使用准备好的语句有助于避免sql- injection。我的问题是,准备好的语句通常是非常静态的。我有一个问题,我在哪里在运行时根据用户输入建立sql查询的子句。根据填充的输入字段,我必须将相应的语句添加到where子句中。如何通过准备好的语句实现这一目标?
我猜您可以根据要查询的列来动态构建准备好的语句,即使用StringBuffer和循环根据所需的列来构建它们。
为了提高效率,您应该将它们保留在某种内存中查找中。因此,您最终将获得Map或其他准备好的语句集合,其中检索键是设计用来对其进行查询的列。