Я пишу одно приложение для поиска определенных полей в форме и отображения соответствующего запроса пользователю (пользователь может сохранить выполненный запрос и загрузить запрос позже). Я использую API для генерации запроса на основе выбранных полей. API возвращает сгенерированный запрос в следующем формате.Регулярное выражение для замены значения в параметре запроса в java
Сформирован запрос:
SELECT T0."id" AS "COL0"
FROM student_table T0
WHERE (((T0."student_name" = ?)
AND (T0."grade" = ?))
AND (T0."student_no" LIKE ?))
Ожидаемый запрос:
SELECT T0."id" AS "COL0"
FROM student_table T0
WHERE (((T0."student_name" = 'John')
AND (T0."grade" = 'A'))
AND (T0."student_no" LIKE '12%'))
Теперь я должен построить надлежащий запрос из выше запроса. Поскольку у меня есть значения полей в from, я хочу заменить «?» с соответствующими значениями.
Возможно ли заменить '?' с соответствующими значениями полей с использованием метода java string replaceAll? можем ли мы использовать концепцию обратных ссылок для замены вопросительных знаков соответствующими значениями? Если это невозможно с регулярным выражением, предложите лучший подход к решению проблемы.
Редактировать
Я думаю, что подготовленное заявление не поможет много, так как мне нужно автоматизировать этот процесс для сотен полей, маркированные и это очень дорогостоящая операция также. (исправьте меня, если я ошибаюсь)
Я фактически использую API моей платформы для конкретной компании, я добавляю столбцы критериев и запросов в определение запроса и возвращает выполненный запрос в вышеупомянутом формате. Пользователь должен иметь возможность сохранять ожидаемый запрос, я должен отображать как запрос, так и результат запроса в пользовательском интерфейсе.
взглянуть на PreparedStatement. http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html – Bowie
wat api ur using и как –
показать код построения запроса –