java – 如何创建一个mutliple搜索SQL语句,其中所有参数都是可选的?

我想知道是否有任何智能方法为搜索引擎制作一个SQL语句,其中有5个可选参数.可以使用所有参数,也可以只使用其中一个参数,也可以混合使用任何参数.这样可以生成3000种不同的组合.

该语句需要准备好以避免SQL注入.

我看了this帖子,但是它非常适合削减.

我正在寻找的是,像,

String sql = SELECT * FROM table WHERE(optional1)=? AND(可选2)=? AND(可选3)=? AND(可选4)=? AND(可选5)=?

prepared.setString(1,optional1)
等等…

最佳答案
使用您的java代码根据参数的存在(它们的长度或存在,无论哪个)将选项添加到where子句.这样,如果不需要可选参数,它甚至不会成为SQL表达式的一部分.简单.

转载注明原文:java – 如何创建一个mutliple搜索SQL语句,其中所有参数都是可选的? - 代码日志