Есть хороший способ использовать подготовленный оператор в Java, где есть вероятность того, что какой-то параметр может быть установлен или не задан?
Предположим, у меня есть полный запрос, подобный этому:
SELECT * FROM Table1 WHERE Field1='....' AND Field2='....' AND Field3='....'
Тогда в моей программе я хотел бы сделать что-то подобное (я знаю, что это невозможно, как я пишу)
// part of code where I have 3 variable set by some logic and the query itself
//.........
String Query = "SELECT * FROM Table1 WHERE Field1=? ";
PreparedStatement s = conn.prepareStatement();
s.setString(1, Field1Var);
if (Field2Var != Value)
{
Query += " AND Field2=? ";
s.setString(2, Field2Var);
}
if (Field3Var != Value3)
{
Query += " AND Field3=? ";
s.setString(3, Field3Var);
}
s = conn.prepareStatement(query);
Как можноЯ добиваюсь этого без написания множества разных запросов?