XRegExp имеет функцию escape:
XRegExp.escape('Escaped? <.>');
// -> 'Escaped\?\ <\.>'
Подробнее: http://xregexp.com/api/#escape
Проблема заключается в том, что
query.append("\b\b from ")
не не удаляют завершающую запятую и пробел из StringBuilder. может выглядеть так же, как при печати на консоль, но строка действительно содержит
select territory, ␈␈ from offices
, и MySQL, очевидно, не нравится.
Вместо этого вы хотите удалить запятую из StringBuilder (и оставить пробел):
query.deleteCharAt(query.length() - 2).append("from ")
выдать идентификатор в
for (int i = 0; i < selectedParams.size(); i++) {
query.append(selectedParams.get(i)).append(", ");
}
приведенный выше код добавит дополнительный «,» после имен параметров, вместо этого вы можете использовать
query.append(String.join(", ", selectedParams))