Meet ps, простое PreparedStatement, которое выполняет свою работу:
PreparedStatement ps = cnx.prepareStatement( "SELECT * FROM mytable WHERE ref=? AND time=>? AND time<?");
Мне нужно добавить 3 необязательных критерия (C1, C2, C3). Для ясности, они могут потребоваться, если не основаны на параметрах времени выполнения.
Грубая сила говорит мне, что я могу написать 9 подготовленных операторов, чтобы покрыть все возможности. Но то, что я действительно хотел бы написать, это что-то вроде:
SELECT * FROM mytable WHERE ref=? AND time=>? AND time<? AND C1=? AND C2=? AND C3=?;
и используйте трюк типа setInt (5, " ANY ") или ignoreParameter (5) перед выполнением оператора
Есть ли такая вещь?