Использование предложения LIKE в подготовленном операторе sql, spring, SimpleJDBCTemplate - PullRequest
3 голосов
/ 18 мая 2011

У меня есть следующее подготовленное заявление sql:

SELECT * FROM video WHERE video_name LIKE ?

Я использую spring и jdbc.У меня есть метод, где термин - это searchterm, sjt - это SimpleJdbcTemplate, VideoMapper - это RowMapper, а searchForTermQuery - строка сверху

...
return sjt.query(searchForTermQuery, new VideoMapper(), term);

В моей таблице есть 2 видео, которые соответствуют термину.Однако, когда я запускаю запрос, ничего не найдено.Я получаю пустой список.

Я попытался поиграть с% вокруг знака вопроса, но он выдал только badGrammarExceptions.

1 Ответ

3 голосов
/ 18 мая 2011

Вам нужно поместить % вокруг самого значения, а не вокруг заполнителя (вопросительный знак).

Итак:

return sjt.query(searchForTermQuery, new VideoMapper(), "%" + term + "%");
...