Я использую подготовленные операторы для выполнения запросов к базе данных MySQL. И я хочу реализовать функцию поиска на основе своего рода ключевого слова.
Для этого мне нужно использовать LIKE
ключевое слово, это я много знаю. И я также использовал подготовленные заявления раньше, но я не знаю , как использовать его с , LIKE
потому что из следующего кода , где бы я добавить 'keyword%'
?
Могу ли я напрямую использовать его pstmt.setString(1, notes)
как (1, notes+"%")
или что-то подобное. Я вижу много сообщений на эту тему в Интернете, но нигде нет хорошего ответа.
PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
... LIKE '%' || ? || '%'
или аналогично - но это гораздо менее гибко.