У меня есть такой запрос:
StringBuffer sqlQueryBuffer = new StringBuffer("SELECT DISTINCT email " +
"FROM prod01.events " +
"WHERE (event_date BETWEEN toDate(?) AND toDate(?) + 1) ");
При некоторых условиях к нему добавляются некоторые данные. Например:
if (!urlHost.isEmpty()) {
sqlQueryBuffer.append(" AND url_host = ? ");
}
В итоге крайней неудобно получается выполнять полный запрос:
SqlRowSet sqlRowSet;
if (!urlHost.isEmpty()) {
sqlQueryBuffer.append(" AND url_host = ?");
sqlRowSet = jdbcTemplate.queryForRowSet(
sqlQueryBuffer.toString(), fromDate.toString(), toDate.toString(), urlHost
);
} else {
sqlRowSet = jdbcTemplate.queryForRowSet(
sqlQueryBuffer.toString(), fromDate.toString(), toDate.toString()
);
}
Все становится еще хуже, если параметров в WHERE
прибавляется. Что делать в такой ситуации ? Могу ли я как-то формировать текст запроса по частям ?
Можешь использовать форматирование строк. К примеру:
String text = String.format("The value is between %s and %s", value1, value2);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь разобраться с примером, представленным здесь как правильный ответЧто я понял
Для сборки проекта использую onejar maven plugin,соответственно получается 2 jar файла,первый создает плагин,а второй лежит внутри и собственно является...
Данная программа являеться игрой в рулетку, В этом блоке игрок выберает на что ставит, на int или на string Выбор игрока определит int number1 или string...
При нажатии кнопки я хочу отправить реквест на другой порт, насколько я понял, я несмогу сделать этого с помощью ajax, и начал с помощью JSONPМой...