我有一个问题 - 我根据用户输入选项动态创建我的 SQL 查询。因此,用户有 5 个参数(实际上更多),他可以选择使用其中的一些(如果他愿意,可以全部使用)或不使用,并在查询中指定它们的值。因此,我通过检查是否选择了参数以及是否提供了值来构造我的查询字符串(基本的 WHERE 条件)。但是现在出现了特殊字符的问题,例如 '. 我可以尝试使用 replaceAll("'", "\\") 但这很乏味,我知道preparedStatement.setString() 做得更好。但是对我来说,我需要再次检查是否提供了参数以及前一个是否也提供了(指定 ? 的毒药并将其连接到正确的参数)。这会导致很多组合,看起来并不优雅。
所以我的问题是——我能以某种方式接收preparedStatement.setString() 产生的字符串吗?或者是否有类似的功能可以完成相同的工作并给我字符串,以便我可以手动将其放入查询中。
也许介绍太长了,但有人可能有更好的主意,我想解释一下为什么我需要它。