gpt4 book ai didi

java - JDBC:如何处理 JavaPreparedStatement 中的通配符

转载 作者:行者123 更新时间:2023-11-30 04:44:10 26 4
gpt4 key购买 nike

例如,如果我有:

connection.prepareStatement("SELECT * FROM users 
WHERE status=? AND otherAttribute=?");

在某些情况下我可能需要特定状态,而在其他情况下我可能需要所有状态。我基本上可以做什么:

preparedStatement.setInt(1, mySpecificRequestedStatus);

在其他情况下:

preparedStatement.setInt(1, allStatuses); // wildcard

这样我就不必拥有多个PreparedStatements,特别是对于 SELECT 语句中更复杂的 WHERE 子句,其中排列可能更高。

最佳答案

你可以这样做:

connection.prepareStatement("SELECT * FROM users 
WHERE (status=? OR ?=1) AND otherAttribute=?");

第二个?用于“所有状态”属性:如果您想忽略状态,请将其设置为1;如果您希望考虑特定的状态,请将其设置为零。

关于java - JDBC:如何处理 JavaPreparedStatement 中的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com