Именованный параметр не заменяется внутри одинарных кавычек - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь использовать именованный параметр, но когда они находятся внутри одинарных кавычек, они не заменяются для запроса, и он возвращает 0 результатов.Как использовать мой параметр в одинарных кавычках?

protected static final String SQL_QUERY =
        "    SELECT * \n" +
        "    FROM example \n" +
        "    WHERE UPPER(name) LIKE UPPER('%:query%') \n";

@Autowired
private NamedParameterJdbcTemplate template;

public List<Item> getResultFromQuery(String query) throws Exception {
return (List<Item>) template.query(SQL_QUERY,
                    new MapSqlParameterSource().addValue("query", query), resultSetExtractor);
}

1 Ответ

0 голосов
/ 07 февраля 2019

Может быть, вы используете \ n внутри одинарных кавычек, вам нужно заключить в оболочку \ n, а для выражения "%: query%" вы можете написать его как ... '+%: query% +' внутри одинарных кавычек илиможет быть '"+%: запрос% +"'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...